Autor Zpráva
Vac
Profil *
Zdravím,

mám menší problém s mod_rewrite. Mám fyzickou složku na serveru, třeba www.neco.cz/test , a v té složce test soubor .htaccess:

RewriteEngine on

RewriteRule ^/test/(.+)/(.+)/$ /test/?clanek=$2&kategorie=$1 [L,QSA]

RewriteRule ^/test/(.+)/(.+)$ /test/?clanek=$2&kategorie=$1 [L,QSA]

RewriteRule ^/test/(.+)/$ /test/?kategorie=$1 [L,QSA]

RewriteRule ^/test/(.+)$ /test/?kategorie=$1 [L,QSA]


Tzn stát se má podvržení url, která u uživatele vypadá takto: www.neco.cz/test/kategorie/clanek , skutečná url: www.neco.cz/test/?kategorie=$kategorie&clanek=$clanek - to je jasné. Problém spočívá v tom, že při zadání třeba www.neco.cz/test přesměruje na nějakou nesmyslnou url ve tvaru třeba: www.neco.cz/test/?kategorie=users/blabla/bla/neco.cz , přičemž www.neco.cz/test/ funguje normálně, jde tedy o lomítko na konci. Pravděpodobně to bude tím, že složka www.neco.cz/test se fyzicky nachází na serveru, nevím ale jak tento problém vyřešit.

Poradí někdo? Předem děkuji.
Kajman_
Profil *
#obsah souboru .htaccess ve slozce test
RewriteEngine on
RewriteBase /test
RewriteRule ^(.+)/(.+)/?$ index.php?clanek=$2&kategorie=$1 [L,QSA]
RewriteRule ^(.+)/?$ index.php?kategorie=$1 [L,QSA]
Kajman_
Profil *
hmm... ale index.php se bude cyklit :-)
Vac
Profil *
proc cyklit? a jde to udelat bez cykleni? :)
Kajman_
Profil *
Protože index.php bude vyhovovat druhému pravidlu, tak se přepíše a pak ještě párkrát, než ho to utne.

Dobré je např. kontrolovat, zda onen soubor existuje a v tom případě např. ty dvě pravidla přeskočit.

#obsah souboru .htaccess ve slozce test
RewriteEngine on
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [S=2]
RewriteRule ^(.+)/(.+)/?$ index.php?clanek=$2&kategorie=$1 [L,QSA]
RewriteRule ^(.+)/?$ index.php?kategorie=$1 [L,QSA]
Vac
Profil *
ted uz to tedy bude fungovat bez cykleni?
Kajman_
Profil *
Přečtěte si to znova, třeba tam už odpověď najdete.
Vac
Profil *
No, napsal jste ze je to dobre, nikoliv jestli to vyresi to cykleni ;) Pod pojmem ze je to dobre si dokazu predstavit cokoliv :) Ale dekuji ;)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0