HTTP odkazy na metodu – metoda/stránka nenalezena
- kbtm
- Člen | 22
Přeji dobrý den,
v prezenteru (Nette 2.0.10) mám několik metod :
public function actionEditItem($idOp,$id,$nItem)
...
public function actionEditItemDetail($idOp,$id,$nItem)
V šabloně se na tyto metody odkazuji :
<a n:href="edititem,edit,$row['id'],$iterator->counter">.. ..</a>
...
<a n:href="edititemdetail,edit,$row['id'],$iterator->counter">.. ..</a>
Na „mém“ PC (WindowsXP + WampServer – Apache 2.2.21 + PHP 5.3.10)
vše OK.
Na „ostrém“ serveru (Linux + Apache) je řízení správně předáno pouze
ve 2. případě (" … n:href=„edititemdetail …“). V 1. případě ("
… n:href=„edititem …“) je zobrazena chyba „stránka nenalezena“.
Pokud použiju odkazy ve tvaru :
... n:href="editItem ..."
...
... n:href="editItemDetail ..."
je odkaz převeden do tvaru „…/edit-item/…“ resp.
„…/edit-item-detail/…“ a pak se chování změní (chyba se projevuje
„opačně“):
Na mém PC opět vše OK.
Na serveru se tentokrát dobře zpracuje 1. odkaz (n:href="editItem ⇒
…/edit-item/…), ve 2. případě (n:href="editItemDetail ⇒
…/edit-item-detail/…) je opět zobrazena chyba o nenalezení stránky.
Pokud opravím odkaz v adresářové řádce prohlížeče – tj. odstraním nebo doplním znaky „-“, je vše OK – metoda se spávně zavolá.
S pozdravem kbtm
- kbtm
- Člen | 22
… několikrát …
Cache za to zřejmě (?) nemůže. Na „ostrý“ server se nedostanu
každý den (jedná se o firemní server pro zpracování intranetových
aplikací – cache Apache je – dle slov admina – odstraňována
pravidelně), takto se chová i po kompletním odstranění aplikace a jejím
opakovaném uploadu.
Stejně se chovají obě metody ve 3 různých prezenterech (prezenter pro
zpracování kusovníku, operací a kontrol) – metody se stejně jmenují
(actionEditItem/actionEditItemDetail).
kbtm
- kbtm
- Člen | 22
Vyřešeno …
Volané metody :
public function actionEditItem($idOp,$id,$nItem)
...
public function actionEditItemDetail($idOp,$id,$nItem)
stačí přejmenovat na :
public function actionItemEdit($idOp,$id,$nItem)
...
public function actionItemDetailEdit($idOp,$id,$nItem)
a změnit příslušné odkazy na :
... n:href="itemedit ..."
...
... n:href="itemdetailedit ..."
a vše je už OK – bez problémů pracuje na lokální PC i na externím serveru.
Jestli je to bug v Nette nebo standardní/očekávané/správné chování se neodvažuji posoudit …
S pozdravem kbtm