Как настроить 301 редирект с https://site.ru на https://site.ru/ в .htaccess

    При оптимизации сайта часто возникает необходимость принудительно добавить слеш в конце URL. Это улучшает структуру ссылок и избегает дублей страниц. В этой статье разберём корректный код для 301 редиректа в файле .htaccess, который перенаправляет запросы с https://site.ru на https://site.ru/ и с https://site.ru/product на https://site.ru/product/.

    Почему важно добавлять слеш в конце URL?

    Поисковые системы (Google, Яндекс) могут считать адреса /page и /page/ разными страницами. Это приводит к дублированию контента и потере веса ссылок. Единый формат со слешем упрощает индексацию и улучшает пользовательский опыт. Кроме того, веб-сервер Apache корректно обрабатывает относительные пути только при наличии конечного слеша.

    Код для редиректа в .htaccess

    Чтобы настроить редирект 301 для всех страниц, кроме реальных файлов и папок, используйте следующий код:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*[^/])$ https://site.ru/$1/ [L,R=301]

    Этот код выполняет перенаправление с /product на /product/, а также с / на / (корневой адрес). Условия !-f и !-d исключают существующие файлы и директории, чтобы не сломать доступ к изображениям, CSS или скриптам.

    Как это работает?

    • RewriteCond %{REQUEST_FILENAME} !-f - проверяет, что запрашиваемый URL не является реальным файлом.
    • RewriteCond %{REQUEST_FILENAME} !-d - убеждается, что это не существующая директория.
    • RewriteRule ^(.*[^/])$ https://site.ru/$1/ [L,R=301] - добавляет слеш в конец URL, если его нет, и выполняет постоянный редирект (код 301).

    Возможные проблемы и их решение

    Иногда редирект может не срабатывать из-за включённого модуля mod_rewrite. Убедитесь, что в начале файла .htaccess стоит директива RewriteEngine On. Если сайт работает через HTTPS, замените https://site.ru на свой домен. Также проверьте, что файл .htaccess находится в корневой папке сайта.

    Проверка редиректа

    После добавления кода протестируйте переходы: откройте https://site.ru/product - браузер должен автоматически перенаправить на https://site.ru/product/. Используйте инструменты вроде Redirect Checker или консоль разработчика, чтобы убедиться в корректном статусе 301.

    Альтернативный способ для новичков

    Если вы не хотите редактировать .htaccess вручную, некоторые CMS (например, WordPress) позволяют настроить редирект через плагины (Redirection, Yoast SEO). Однако ручное добавление кода даёт больше контроля и не нагружает базу данных.

    Часто задаваемые вопросы