301 редирект для страниц без слеша и со слешем на конце

17 Фев 2015 / Автор: v.knyazev / Рубрика: Записки / Ваш отзыв

Когда на сайте URL адреса вида:

http://ya-knyazev.ru/301-redirekt-dlya-stranic-bez-slesha-i-so-sleshem/

http://ya-knyazev.ru/301-redirekt-dlya-stranic-bez-slesha-i-so-sleshem

Страница может открываться без слеша и со слешем на конце, что приводит к дублированию (одна и та же страница отрывается по двум адресам). Для решения этой проблемы — необходимо определить один вариант (посмотреть как проиндексирован сайт поисковыми системами) и сделать 301 редирект через файл .htaccess

Убираем слеш в конце

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Со слешем на конце

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Такая проблема встречается довольно часто и исправить эту ошибку критически необходимо.

Оставить комментарий