Autor Zpráva
Petrovský
Profil
Pro web běžící na RS bych potřeboval skrýt stromovou strukturu (tedy nikoli přesměrovávat, pouze podstrkávat do adresního řádku).
Prohlížeč zobrazuje adresu a.b.cz/c/d/index.php/e, zobrazovanou adresu bych si přál mít a.b.cz/e

Můj nefunkční kód je:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^a.b.cz$
RewriteCond %{REQUEST_URI} ^c/d/index.php
RewriteRule c/d/index\.php/(.*) /$1

Děkuji za případné rady.
Davex
Profil
Petrovský:
pouze podstrkávat do adresního řádku
Ve skutečnosti do funguje přesně opačně a i pravidlo máš naopak. Adresa se nepodstrkává do adresního řádku prohlížeče, ale adresa, kterou pošle prohlížeč se na serveru obvykle přepisuje na adresu skriptu.

Takže takhle:

RewriteCond %{REQUEST_URI} !^/c/d/index.php
RewriteRule ^(.*) /c/d/index\.php/$1

Kromě toho by se možná hodilo nepřepisovat úplně všechny adresy, protože externí JavaScripty, CSS a obrázky asi ten skript generovat nebude. To by se pak hodila úprava podle Řešení některých častějších problémů (FAQ) » Univerzální obecné pravidlo.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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