Autor Zpráva
Shulík
Profil
Zdravím,

u Angel hostingu mám web v Nette. Nette přesměrovává neexistující adresy na index.php pro vytvoření cool url pomocí následujícího kódu:

Moje verze Nette: 2.0-dev (revision bf28179 released on 2010-10-08)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]


Na localhostu (Ubuntu 10.10, Apache (2.2), PHP 5.3.3.1) mi všechno běží perfektně. Ale když kód nahraju na produkční server (PHP 5.2.6-1; Apache 2.2.9), háže to 500 a do logu (při zapnutí LogLevel na debug) následující chybu:

[Sat Nov 06 11:37:54 2010] [error] [client IP] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Sat Nov 06 11:37:54 2010] [debug] core.c(3063): [client IP] r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /home/www/web.cz/subdomeny/new/index.php
[Sat Nov 06 11:37:54 2010] [debug] core.c(3069): [client IP] redirected from r->uri = /admin
[Sat Nov 06 11:37:54 2010] [debug] mod_deflate.c(615): [client IP] Zlib: Compressed 654 to 408 : URL /home/www/web.cz/subdomeny/new/index.php


Metodou pokus-omyl jsem zjistil, že se to dá vyřešit, když před index.php u RewriteRule dám lomítko (pak to ale přestane fungovat na localhostu a hází to 404). Ale nevím proč. Je tu někdo ochotný, kdo by mi to vysvětlil?

Děkuju předem :)
Kajman_
Profil *
Vypadá to, že se index.php přepisuje na index.php, což by ale nemělo díky první podmínce, že neexistuje soubor.

Pokud tam nechybí onen soubor index.php, tak bych možná zkusil přidat na začátek

RewriteBase / #pripadne jiny adresar, pokud za domenou neni hned ten index.php


Asi to nepomůže, tak bych si zkusil na chvíli zapnout rewrite log (nutné přímo v konfiguraci apache), kde by ta vnitřní přesměrování měla být blížeji popsaná.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0