RewriteCond - как избежать этого? - PullRequest
0 голосов
/ 08 декабря 2011

Привет, у меня проблема с переписыванием этого URL - как мне избежать этого, чтобы он исправил себя?

URL был разослан в общественное достояние примерно так:

http://www.domain.com/directory/directory-2/10018485&key=3945

Мне нужно написать правило, чтобы исправить это:

http://www.domain.com/directory/directory-2/10018485?key=3945

` Пытаюсь сделать это так, без успеха ....

RewriteCond %{REQUEST_URI} \/directory\/directory-2\/10018485&key=3945
RewriteRule ^(.*)$ /directory/directory-2/?id=10018485&key=3945 [L]

Спасибо:)

1 Ответ

0 голосов
/ 08 декабря 2011

Вам не нужно уходить от & в матче до% 26. То, что у вас есть, прекрасно работает для меня, не знаю, почему это не работает для вас. Но вам не нужен RewriteCond, вы можете объединить 2 в одно правило. Это работает для меня, когда фактический запрос /directory/directory-2/10018485&key=3945 или directory/directory-2/10018485%26key=3945

RewriteRule ^directory/directory-2/10018485&key=3945$ /directory/directory-2/?id=10018485&key=3945 [L]

В более абстрактном смысле:

RewriteRule ^directory/directory-2/([0-9]+)&key=([0-9]+)$ /directory/directory-2/?id=$1&key=$2 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...