Autor Zpráva
wrestler
Profil
Dobrý den.
Nefunguje mi následující rewrite:

RewriteEngine On
RewriteRule ^ahoj\.php\?id=([0-9]+)$ redir.php?id=$1 [R,NC,L]


Když do prohlížeče zadám např. ahoj.php?id=3, přesměrování se neprovede, tak se chci zeptat, jestli někdo neví, čím to je?
Předem díky
Davex
Profil
V prvním parametru RewriteRule se vyhodnocuje pouze cesta k souboru a nikoliv parametry. Pro přesměrování v druhém parametru musí být absolutní URL.

RewriteEngine	On

RewriteCond	%{QUERY_STRING}	(^|&)id=([0-9]+)	[NC]
RewriteRule	^ahoj\.php$	http://www.example.com/redir.php?id=%2	[R,NC,L]
wrestler
Profil
Davex
Děkuji, tvé řešení s mírnou úpravou funguje (v posledním řádku místo %2 patří %1).
Díky!
Davex
Profil
Parametr %1 tam patří pouze v případě, že nebudeš mít tu první závorku v RewriteCond.
joe
Profil
wrestler
Ten přepis se mi zdá celý nějaký podivný, čeho chceš dosáhnout?!

mmj. jsem ještě neviděl zápis %1, ale spíš $1 ... ale je možné, že funguje obojí, jen to vidím poprvé.
wrestler
Profil
Davex
Ano, omlouvám se, tu první závorku jsem skutečně odmazal.

joe
Chci, aby když někdo přijde z adresy ahoj.php?id=654, aby ho to přesměrovalo na novou adresu. To je ale nutné vykonat ve skriptu redir.php, kde se načtou potřebná data pro novou adresu (podle parametru "id").
MrVain
Profil
A to je nutne riesit cez rewrite ? :D
Niekedy mi logika byt cool so super truper cool URL unika. To je problem premenovat subor alebo vytvorit symlink ? ;)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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