Autor Zpráva
MartinR
Profil *
Zdravím dělám si vlastní cms. A mám malý problém s mod_rewrite:
Potřebuji aby to vrátilo komplet část za doménou do query stringu index.php.

Tzn. že chci aby adresa např. example.cz/neco.nc se přepsala na example.com/index.php?neco.nc

Tak jsem si napsal toto pravidlo
RewriteRule ^(.*) index.php?$1
nevím proč, ale do query mi to vrátí "index.php"

Když ale napíši tohle
RewriteRule ^(.*) / index.php?$1
Takto to funguje v pořádku, akorát musím mít na konci adresy lomítko.

Já ale chci odcyhtávat všechno, nevím si rady, díky.
xixli
Profil
Žeby RewriteRule ^/(.*)$ index.php?$1 ? Netestoval som.
MartinR
Profil *
xixli: ne to nefunguje, lomítko za doménou tam už nepatří
Kajman_
Profil *
Protože se přepisuje nejdříve na index.php a ten potom ještě na index.php?index.php. Je třeba si uvědomit, že při změně výsledné adresy jsou pravidla procházena znovu (většinou s limitem 10).

Řešením je tedy ošetření cyklení. Např. takto:

RewriteEngine On
#neprepisovat existujici soubory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [L]
Toto téma je uzamčeno. Odpověď nelze zaslat.

0