Redirect 301 и вопросительный знак в URL

Нужно сделать редирект ряда страниц на новые адреса. Проблема в том, что страницы содержат знак вопроса и потому не работает редирект через хтаццес вида:

Redirect 301 /?module=View&category=ololo site.ru/new

И символом / вопросительный знак не экранируется. Подскажите как можно сделать редирект в данном случае? В голову пришел только монстро-костыль на php, который будет на всех страницах сайта выдавать:

ЕСЛИ ты на странице такой то ТОГДА header(«HTTP/1.1 301 Moved Permanently»);

Существует ли какое то правильное и «чистое» решение вопроса с вопросительным знаком в URL и редиректом?
  • Вопрос задан
  • 9887 просмотров
Пригласить эксперта
Ответы на вопрос 4
Anonym
@Anonym
Программирую немного )
Например так
RewriteCond %{QUERY_STRING} ^foo=bar&bar=baz$
RewriteRule ^(.*)$ http://www.example.com [R=301,L]
Ответ написан
kenny_opennix
@kenny_opennix
if ($query_string ~ "^?module=View&category=ololo")
 { 
  rewrite ^(.*)$ http://site.ru/new redirect; 
  }

прекрасно работает.
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Так для экранирования используется обратный слэш \
Ответ написан
@slon362
nginx: [emerg] pcre_compile() failed: nothing to repeat in "^?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы