404 na defaultní akci

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

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)

Ondřej Brejla
Člen | 746
+
0
-

A co takhle?

$router = $application->getRouter();
$router[] = new SimpleRouter(array(
    'presenter' => 'Messages',
    'action' => 'list',
));
tr.
Člen | 79
+
0
-

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
+
0
-

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
+
0
-

-- 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
+
0
-

To není chyba…to je standardní chování case sensitive systému…

Editoval Warden (22. 7. 2009 17:57)