@alex_maldinsky

301 редикт с любой вложенности, как?

Добрый день.
Подскажите пожалуйста как можно реализовать 301 редикт с любой вложенности на без нее. Например:
1. сайт/elektroinstrument/kategorii/perforatory/perforator-m12-ch-202c/ на сайт/perforator-m12-ch-202c/
2. сайт/rezak-dlya-plastikovyh-trub/ на сайт/rezak-dlya-plastikovyh-trub/ (т.е. если вложенности нету - то оставляем)
3. сайт/rezaki/rezak-dlya-plastikovyh-trub.html на сайт/rezak-dlya-plastikovyh-trub/

Т.е. убрать любую вложенность и если заканчивается на .html - то меняем на /
  • Вопрос задан
  • 343 просмотра
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
#  если минимум 1 символ до последнего конца строки, и убираем слеш еслион есть.
RewriteCond %{REQUEST_URI} .*(/.+)(|/)$
# то пенренаправить все  на сайт и то что в скобках.
RewriteRule ^(.*)$ http://site.ru%1 [R=301,L]

Получаем
сайт/elektroinstrument/kategorii/perforatory/perforator-m12-ch-202c/ на сайт/perforator-m12-ch-202c/

Хотя конечно вам бы не мешало поработать с "жадными квантификаторами"
тут есть что улучшить .

Теперь .htnl убираем

RewriteCond %{REQUEST_URI} ^(.+)\.html$
RewriteRule ^(.*)$ %1/ [R=301,L]
Ответ написан
Ваш ответ на вопрос

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

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