htaccess мод переписывает изменения http://www на http: / www - PullRequest
1 голос
/ 15 мая 2010

Я хочу заменить вызовы так:

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

с:

www.mysite.com/sub/param1/param2

Параметр 1 - это целое число Параметр 2 - это URL

Я написал это правило перезаписи в 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 выглядит нормально, поэтому должно быть что-то с правилом перезаписи.

1 Ответ

2 голосов
/ 15 мая 2010

Вам нужно получить значение из THE_REQUEST :

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