Задать вопрос

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

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

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

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

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

Существует ли какое то правильное и «чистое» решение вопроса с вопросительным знаком в URL и редиректом?
  • Вопрос задан
  • 9972 просмотра
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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 "^?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽