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

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

/301-redirekt-dlya-stranic-bez-slesha-i-so-sleshem/

/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]
Такая проблема встречается довольно часто и исправить эту ошибку критически необходимо.

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

  1. Добрый день! Сделал все, как вы указали. Однако видимо с кешем проблема, то перенаправляет, то нет страницы. Никак не могу понять, работает 301 на исходную страницу без слеша или нет.

    1. Кидайте ссылку, посмотрим. Либо проверьте в Яндекс.Вебмастере ответ сервера (либо в любом другом онлайн сервисе) по каждой из ссылок.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *