404 na defaultní akci
- tr.
- Člen | 79
Ahoj, mám zvláštní problém s voláním defaultního view.
Používám SimpleRouter a na lokále i serveru mám stejnou adresářovou strukturu. Přesto akci, která je jako defaultní, (nastavuji ji takto:
$application->setRouter(new SimpleRouter('Messages:List'));
) nelze na ostrém serveru volat přímo (tedy domena.com/) ale musí se volat takto: domena.com/?action=form
Na lokále to funguje dobře, na serveru to vrátí 404:
Not Found
The requested URL was not found on this server.
Nette Framework
Je to zvláštní, ale s parametrem action to opravdu volat lze. Netušíte kde by mohla být chyba?
Díky Tomáš
Editoval tr. (22. 7. 2009 16:50)
- tr.
- Člen | 79
Děkuji ti, pokud to myslíš takhle:
$application->setRouter(new SimpleRouter(array('presenter' => 'Messages', 'action' => 'list')));
Tak to nepomáhá. Dělá to to samé.
Ještě mě napadlo, že na locale to běží na adrese
localhost:8080/
a na serveru na adrese typu aaa.bbb.com/ to je rozdíl, jinak je vše snad to samé.
(fakticky jediná 404 je ta defaultní adresa, pokud je v URL poctivě action=neco) tak je vše OK, zvláštní, že?
- Ondřej Brejla
- Člen | 746
Takže presenter ti to sežere správně, ale s defaultní action list je problém…napadá mě, máš správně velikost písmen? V názvu templaty a v routeru? Protože v prvním postu vidím, že máš velké „L“…pokud máš templatu s malým a jsi na case-sensitive linuxu, tak to hází chyby.
- tr.
- Člen | 79
-- VYŘEŠENO --
Problém byl s velikostí znaků:
Měl jsem uvedeno new SimpleRouter(‚Messages:List‘)); a šablona se jmenuje Messages.list
- Na MacOS 10.4, PHP 5.2.6 je tahle funkce nesenzitivní na velikost znaků
- Na Linux Intel cosi, PHP 5.2.9 je přecitlivělá na velikost znaků
(všude se odkazuji dobře jen tu definici defaultu v bootstrap.php jsem měl takhle)
Děkuji za pomoc, ale stejně netuším proč se tahle věc děje, není to chyba?
- Ondřej Brejla
- Člen | 746
To není chyba…to je standardní chování case sensitive systému…
Editoval Warden (22. 7. 2009 17:57)