Регулярное выражение для 301 редиректа

В моём любимом проекте случился маленький косяк — появились URL типа /abc-abc/ и /abc-abc/abc-abc-xyz/, когда должны быть /abc/ и /abc/abc-xyz/ соответственно.

Помогите пожалуйста правильно составить rewrite rule для перенаправления с неправильных url на правильные!
Мой вариант нормально отрабатывает 1-й урл, но на втором косячит, делая из него
Мой вариант почему-то вставляет {%webroot path%} в начало URL, делая его таким:
/{%webroot path%}/abc/ для 1 случая, или таким: /{%webroot path%}/{%webroot path%}/abc/abc-xyz/ для второго

	RewriteCond %{REQUEST_URI} ^(.*)abc-abc(.*)$
	RewriteRule  ^(.*)abc-abc(.*)$ $1abc$2 [R=301,L]

Куда мне копать?
  • Вопрос задан
  • 4939 просмотров
Решения вопроса 1
TrueDrago
@TrueDrago Автор вопроса
Через пару минут после поста понял, что забыл про

RewriteBase /

С ним всё работает как надо
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@transpond
RewriteCond %{REQUEST_URI} ^(.*)abc-abc(.*)$
RewriteRule ^(.*)abc-abc(.*)$ http://yourwebsite.ru/$1abc$2 [R=301,L]
Ответ написан
Ваш ответ на вопрос

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

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