mrKorg
@mrKorg
web developer

Как сделать 301 редирект?

Вопрос избитый, но всё же:
Redirect 301 /en/parlour-profile/massage-parlour-anna-berry-massage-louise-sensual-massage%E2%80%8B /en

или
RewriteRule ^en/parlour\-profile/massage\-parlour\-anna\-berry\-massage\-louise\-sensual\-massage%E2%80%8B$ /en? [L,R=301]

Данный код не работает, подозреваю из-за символов %.
Как решить проблему?
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
mrKorg
@mrKorg Автор вопроса
web developer
Вот рабочий вариант:
RewriteRule ^en/parlour-profile/massage-parlour-anna-berry-massage-louise-sensual-massage\xE2\x80\x8B/?$ /en? [L,NC,R=301]

+ его обязательно нужно было переместить в самый верх после RewriteEngine On
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
alfss
@alfss
https://career.habr.com/alfss
RewriteEngine ON
RewriteCond %{THE_REQUEST} ^\w+ /en/parlour-profile/massage-parlour-anna-berry-massage-louise-sensual-massage%E2%80%8B
RewriteRule ^ /en [R=301,L]


или еще можно все % заменить на \x
Ответ написан
shambler81
@shambler81 Куратор тега htaccess
а вы % экранировали, ващет то тоже часть регулярного выражения, обозначает группу из rewrite cond на подоие $1 из рула.
Redirect 301 /en/parlour-profile/massage-parlour-anna-berry-massage-louise-sensual-massage\%E2\%80\%8B /en

как вариант сделать менее строгой
\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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