@eugene159

Как написать RewriteRule для такой ссылки?

На сайте есть такая ссылка (да, с пробелами, скобками и кириллицей):
https://my-site.ru/articles/ (текст вначале списка продукции)/

Я хочу написать для нее редирект, но у меня не получается. Вот, что я пробовал:
RewriteRule "^articles/ (текст вначале списка продукции)/$" /articles/ [R=301,NC,L]
RewriteRule ^articles/\ (текст\ вначале\ списка\ продукции)/$" /articles/ [R=301,NC,L]
RewriteRule ^articles/%20(текст%20вначале%20списка%20продукции)/$" /articles/ [R=301,NC,L]
RewriteRule ^articles/%20%28%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D0%B2%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%B5%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%86%D0%B8%D0%B8%29/$ /articles/ [R=301,NC,L]

Но ничего из этого не срабатывает - редиректа просто нет. Как написать редирект для такой сложной ссылки?
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
@dodo512
RewriteRule "^articles/ (текст вначале списка продукции)/$" /articles/ [R=301,NC,L]
RewriteRule ^articles/\ (текст\ вначале\ списка\ продукции)/$" /articles/ [R=301,NC,L]

Нужно ещё круглые скобки экранировать и будет норм.
RewriteRule "^articles/ \(текст вначале списка продукции\)/$" /articles/ [R=301,L]
RewriteRule ^articles/\ \(текст\ вначале\ списка\ продукции\)/$ /articles/ [R=301,L]

При сохранении файла следить чтобы кодировка была UTF-8 без BOM.

RewriteRule ^articles/%20%28%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D0%B2%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%B5%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%86%D0%B8%D0%B8%29/$ /articles/ [R=301,NC,L]

На вход RewriteRule поступает строка уже после декодирования %XX.
В исходном виде строку с %XX можно найти в переменной %{THE_REQUEST}.
RewriteCond %{THE_REQUEST} "^\S+ /articles/%20\(%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D0%B2%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%B5%20%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%86%D0%B8%D0%B8\)/[ ?]"
RewriteRule ^ /articles/ [R=301,L]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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