2015-10-09 2 views
2

У меня есть куча старых URL-адресов веб-сайтов, которые я пытаюсь перенаправить на новый пункт назначения, сейчас я пытаюсь удалить строку запроса из старых URL-адресов, а затем перенаправить на новый URL-адрес с его параметрами какКак перенаправить страницу после удаления строки запроса

Предыдущая: www.domain.com/ranges.php?reqinfo=some-data-info

Требуется: www.domain.com/info/ranges/some-data-info

Я пробую это в .htaccess

RewriteCond %{QUERY_STRING} ^\ranges\.php\?reqinfo=(.*)$ [NC] 
    RewriteRule ^info/ranges/%1? [L,R=301] 

Я также попытался еще одно правило, но оно также удалить все peramaters а

RewriteRule ^ranges\.php$ /info/ranges/$1? [L,R=301] 

может кто-то пожалуйста, помогите.

+0

The '% {QUERY_STRING}' переменная будет иметь только строки запроса часть URL, который является частью после '', а не имя файла?. Не уверен, включает ли он '?'. –

ответ

1

ranges.php является частью вашего REQUEST_URI, поэтому вы не можете использовать при использовании QUERY_STRING. Используйте его как:

RewriteCond %{QUERY_STRING} ^reqinfo=([^&]+) [NC] 
RewriteRule ^ranges\.php$ /info/ranges/%1? [L,R=301,NC] 
+1

Спасибо, Анубхава ... его работа –

Смежные вопросы