Routovanie na dve action nefunguje na živom systéme, na lokálnom systéme áno
- slapo
- Člen | 22
Zdravím,
mám dve akcie (actionEditAddress
a
actionEditBankAccount
), na ktoré by sa malo routovať z URL
obsahujúce main/setting/edit-address/
, resp.
main/setting/edit-bank-account/
(main je namiesto index.php).
Routovanie na iné akcie v presenteri a akcie v iných presenteroch funguje,
zdá sa, dobre.
Na mojom stroji to funguje bez problémov, na živom systéme nie, ale routy sú
nastavené rovnako.
Oba systémy používajú Apache (v iných verziách, ale oba sú 2.x). PHP na
lokálnom systéme je 5.3.0, na živom je 5.2.6. NETTE_VERSION_ID
je 905
(teda verzia 0.9.5) a NETTE_PACKAGE
je
PHP 5.2
.
Skúšal som pátrať, kde chyba nastane, ale zatiaľ bez výsledku.
Chyba na živom serveri sa tvári ako 404:
Not Found
The requested URL was not found on this server.
Nette Framework
Keď som použil routing debugger, vyzeralo to, že by routy mali
fungovať.
Routy sú:
$router[] = new Route('main/<presenter>/<action>/<parameter>', array(
'presenter' => 'Page',
'action' => 'default',
'parameter' => NULL
),
Route::SECURED
);
$router[] = new Route('<presenter>/<action>/<parameter>', array(
'presenter' => 'Page',
'action' => 'default',
'parameter' => NULL
),
Route::SECURED
);
Zatiaľ jediná odlišnosť, ku ktorej som sa prekopal je obsah
$appRequest
v MultiRouter.php
v metóde
match
. Na mojom stroji obsahuje:
PresenterRequest Object
(
[method:PresenterRequest:private] => GET
[flags:PresenterRequest:private] => Array
(
[secured] => 1
)
[name:PresenterRequest:private] => Setting
[params:PresenterRequest:private] => Array
(
[action] => editAddress
[parameter] =>
)
[post:PresenterRequest:private] => Array
(
)
[files:PresenterRequest:private] => Array
(
)
[frozen:FreezableObject:private] =>
)
Na živom serveri obsahuje:
PresenterRequest Object
(
[method:private] => GET
[flags:private] => Array
(
[secured] => 1
)
[name:private] => Setting
[params:private] => Array
(
[action] => editAddress
[parameter] =>
)
[post:private] => Array
(
)
[files:private] => Array
(
)
[frozen:private] =>
)
Nemal som zatiaľ čas ísť hlbšie. Nemal by niekto nejaký tip, kde by som sa mohol pozrieť?
Ďakujem.
Editoval slapo (26. 8. 2010 11:14)
- newPOPE
- Člen | 648
slapo napsal(a):
Problém vyriešený, bolo treba premenovať šablóny z
editaddress.phtml
aeditbankaccount.phtml
naeditAddress.phtml
aeditBankAccount.phtml
.
Bolo by fajn, keby sa dalo niekde nastaviť, aby Nette nebolo citlivé na veľkosť písmen v názvoch šablón (case insensitive).
Ako vidis NETTE na to citlive nie je kedze ti to lokalne islo ale na hostingu nie. Skor to problem WIN vs. *NIX (ktoremu nie je jedno Ahoj.php alebo ahoj.php)