routing

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
newPOPE
Člen | 648
+
0
-

Zdravim,

mam mensi problem s presunutim apl. na hosting (ic.cz)

toto mam v bootstrap.php

<?php

$router[] = new Route('index.php', array(
  'module' => 'Front',
  'presenter' => 'default',
  'action' => 'default',
), Route::ONE_WAY);

$router[] = new Route('<presenter>/<action>/', array(
  'module' => 'Front',
  'presenter' => 'default',
  'action' => 'default',
));

?>

edit:
zabudol som co vlastne potrebujem :-)
ide o to ze to reaguje len na adresu napr. http://mypage.tym.sk ale na http://mypage.tym.sk/league/table mi hodi 404ky

na locale mi to fici super ale na hostingu ani za …

Neviete kde by mohol byt problem?

Vdaka za rady

Editoval newPOPE (5. 6. 2009 15:31)

_Martin_
Generous Backer | 679
+
0
-

Ahoj, máš v document_rootu daný .htaccess soubor a zaplou podporu pro mod_rewrite?

jasir
Člen | 746
+
0
-

…a povolený zápis do temp?

newPOPE
Člen | 648
+
0
-

_Martin_ napsal(a):

Ahoj, máš v document_rootu daný .htaccess soubor a zaplou podporu pro mod_rewrite?

Ahoj,

ano rewrite mam nahodeny, aj .htaccess.

nakolko som nevedel ako vsetky poziadavky smerovat na document_root tak som

index.php a aj .htaccess presunul do root nastavil absolutne cesty v index.php

<?php

	// absolute filesystem path to the web root
	define('WWW_DIR', dirname(__FILE__));

	// absolute filesystem path to the application root
	define('APP_DIR', WWW_DIR . '/app');

	// absolute filesystem path to the libraries
	define('LIBS_DIR', WWW_DIR . '/libs');

	// load bootstrap file
	require APP_DIR . '/bootstrap.php';
?>

na lokale mi vsetko fici, na ic.cz nie jedine sa mi podarilo spustit default:default
na ine reaguje 404.

Editoval newPOPE (5. 6. 2009 17:06)

romansklenar
Člen | 655
+
0
-

Výpis z laděnky řekne vše, pokud ho poskytneš, můžem pomoct, jinak můžem akorát hádat.

newPOPE
Člen | 648
+
0
-

romansklenar napsal(a):

Výpis z laděnky řekne vše, pokud ho poskytneš, můžem pomoct, jinak můžem akorát hádat.

No to by som aj ja rad. :-)
Kedze je na prod. serveri defaultne ticho, skusil som nastavit teda natvrdo devel rezim aj logovanie. Blbe je, ze ani jedno nefunguje.

v config.ini:
[common]
set.date-timezone = „Europe/Bratislava“
set.iconv-internal_encoding = „%encoding%“
set.mbstring-internal_encoding = „%encoding%“

; Production site configuration data
[production < common]
set.include_path = „%appDir%/libs;%modelsDir%/;%presentersDir%/“
;variable.templatesDir = „%appDir%/presenters“
variable.logDir = %appDir%/log

; Staging site configuration data inherits from production and
; overrides values as necessary
[development < production]

bootstrap.php

<?php
	Debug::enable(Debug::DEVELOPMENT, '%logDir%/php_error.log');
?>

vypis asi takyto:

Not Found

The requested URL was not found on this server.

Ono skusam vselico. najskor to nechcelo ani generovat odkazy v sablone. Musel som premenovat presentery aby zacinali s malym pismenom, takisto aj boostrape new Route … presenter ⇒ default.

je tam verzia PHP 5.2.0
ja mam 5.2.8

_Martin_
Generous Backer | 679
+
0
-

Takže:

  1. Zkus dát nějaký dump(echo cokoliv) do index.php a potom skript ukonči – chci mít jistotu, že mod_rewrite funguje správně.
  2. Presentery nech velkými písmeny a ta používej důsledně v routách (Linux je case-sensitive): 'presenter' => 'Default'.
  3. Laděnku zapni jen Debug::enable(Debug::DEVELOPMENT);, hned po ní dej dump a skript ukonči.
  4. Zkus měnit $application->catchExceptions = TRUE/FALSE; a nech běžet aplikaci normálně.

Snad něco z toho zabere.

Edit: P.S. Requirements Checker jsi zkoušel?

Editoval _Martin_ (5. 6. 2009 18:10)

newPOPE
Člen | 648
+
0
-

Zdravim,

tak po dlhom boji s velkymi a malymi pismenami som … vyhral :-), inak bolo vsetko v poriadku

thx to _Martin_, s tym Linuxom mi to nedoslo.

Uz som bol na tom tak ze som od mojho nadsenia z Nette upustit a robit bez neho kedze len zacinam.
Ale rozhodol som sa, ze vydrzim :-), nakolko vyzera ze ma skvelu komunitu a forum. Kde hned poradia resp. najdem odpoved na moj problem.

este raz vdaka vsetkym.

_Martin_
Generous Backer | 679
+
0
-

Skvěle, mám rád pohádky se šťastným koncem=) Přeju hodně štěstí v dalším kódění.

RaR
Člen | 42
+
0
-

Ahojte, po nahrání verze 0.9 dev (rev. 380 ze dne 26. 6. 2009) laděnak hlásí vyjímku. S nette 0.8 to fungovalo. Nevíte někdo, kde je problém?

InvalidArgumentException

Parameter 'presenter' must not be optional because parameters standing on the right side are not optional.

<?php
Line 59:    ), Route::ONE_WAY);
Line 60:
Line 61:    $router[] = new Route('admin/<presenter>/<view>/<id>', array(
Line 62:        'module' => 'Admin',
Line 63:        'presenter' => 'Default',
Line 64:        'action' => 'default',
Line 65:        'id' => NULL,
Line 66:    ));
));Line 67:
Line 68:    $router[] = new Route('profi/<presenter>/<view>/<id>', array(
Line 69:        'module' => 'Profi',
Line 70:        'presenter' => 'Default',
Line 71:        'action' => 'default',
Line 72:        'id' => NULL,
Line 73:    ));
?>
Ola
Člen | 385
+
0
-

view nahraď za action (v masce routy)

Editoval Ola (26. 6. 2009 14:46)

RaR
Člen | 42
+
0
-

Díky moc za rychlou odpověď. Jsem tušil, že jsem to někde viděl, ale v zoufalství jsem si toho nevšiml. :).