@bossigorxxx

Как сделать такой Редирект?

Пример ниже:
Отдельное правило для внутренних новостей (страниц с конструкцией news.php?number=), например: с http://мой-домен.ru/news.php?number=1279 и http://www.мой-домен.ru/news.php?number=1279 - на https://www.мой-домен.ru/news1279/
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{QUERY_STRING} (^|&)number\=(.+)($|&)
RewriteRule ^news\.php$ /news%2/? [L,R=301]


где
(^|&)...... ($|&) - гет запрос может быть и не один для этого используем вот такую конструкцию, или ? или &
%{QUERY_STRING} - не является частью урла и выделяется именно так
%2 - аналог $2 если бы мне нужна была бы вторая скобка с рула, а %2 берет вторую скобку с конда.
/? - удаляет гет параметры
(.+) - 1 и более символов в группе
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dodo512
RewriteCond %{QUERY_STRING} ^number=(\d+)
RewriteRule ^(news)\.php$ https://www.site.ru/$1%1/? [R=301,L]


Или
RewriteCond %{THE_REQUEST} " /(news)\.php\?number=(\d+)"
RewriteRule ^ https://www.site.ru/%1%2/? [R=301,L]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы