Autor Zpráva
Martin
Profil
Ve složce /kv2/ mam soubor .htaccess a v něm jen dvě pravidla
RewriteRule index.php /kv2/test.php [L]
RewriteRule (.*) http://google.com

když do adresního řádku zadám
http://localhost/kv2/index.php , tak se stránka přesměruje na google.com , když řádek RewriteRule (.*) http://google.com zakomentuji, tak se zobrazí stránka /kv2/test.php. Jaktože se nezobrazí stránka /kv2/test.php i když není druhý řádek zakomentovaný? Je tam přeci [L]. Dík za každou radu
WertriK
Profil
Dle mého logického myšlení mi tam jedno nesedí a to :

RewriteRule index.php /kv2/test.php [L]

Ty v adresáři "kv2" máš opět adresář "kv2" ?

Pokud to máš takto napsané, tak by to mělo vypadat takto : [dle mě]

RewriteRule /kv2/index.php /kv2/test.php [L]

Ale pravděpodobnější řešení bude :

RewriteBase /kv2
RewriteRule ^index\.php$ test.php [L]

Ale většinou, když si hraju s regulárníma výrazama, zjistím že se to mému logickému myšlení scela vymyká.
Martin
Profil
Ty v adresáři "kv2" máš opět adresář "kv2" ?
nemám
tyto pravidla:
RewriteBase /kv2

RewriteRule ^index\.php$ test.php [L]
RewriteRule (.*) ]http://google.com


dělají úplně to stejný jako pravidla, která jsem uvedl úplně nahoře.

Když zakomentuji pravidlo s google.com, zobrazí se stránka test.php, jinak se to přesměruje na google.com. To asi znamená, že adresa http://localhost/kv2/index.php vyhovuje oboum výrazům. Čekal bych, že to vyhodnotí nejdřív první pravidlo a protože je nakonci [L], tak to přestane dál pracovat, a na google se to už nepřesměruje, ale asi to tak vubec nefunguje
Kajman_
Profil *
L ukončí nynější procházení pravidel. Pokud se na něco (třeba i skrytě) přepsalo, tak pro novou podobu se pravidla prochází znovu. To se děje do té doby, dokud se adresa nezmění nebo není přesáhnut limit pro počet znovuprocházení pravidel v .htaccess.

RewriteBase /kv2
RewriteRule ^test\.php$ - [L]
RewriteRule ^index\.php$ test.php [L]
RewriteRule (.*) ]http://google.com
Toto téma je uzamčeno. Odpověď nelze zaslat.