2010-05-14 2 views
1

Я хочу, чтобы заменить вызовы, как это:Htaccess мод переписывают меняет HTTP: // WWW к HTTP:/WWW

www.mysite.com/sub/file.php?param1=x&param2=http://www.someurl.com

с:

www.mysite.com/sub/param1/param2

Param 1 представляет собой целое число number Param 2 является адресом

Я написал это правило перезаписи в htaccess:

RewriteCond %{REQUEST_URI} \/sub\/ 
RewriteRule sub\/([0-9]+)\/(.*)$ sub\/file.php?param1=$2&param2=$1 [L] 

К сожалению, param2 (URL) начинается с http:/www.someurl.com вместо http://www.someurl.com (обратите внимание на одну косую черту).

Любая идея, что ее вызывает? Когда я вызываю тот же файл с одинаковыми параметрами в формате www.mysite.com/sub/file.php?param1=x&param2=http://www.someurl.com, param2 отображается ОК, поэтому это должно быть что-то с правилом перезаписи.

ответ

2

Вы должны захватить значение из THE_REQUEST:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /sub/[0-9]+/([^?\ ]+) 
RewriteRule ^sub/([0-9]+)/ sub/file.php?param1=$1&param2=%1 [L]