301 редиректы в .htaccess - Готовый список шаблонов
htaccess — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного файла веб-сервера.
Возможно пригодится - Гайд по работе с FTP
Важная информация!
После настройки глобальных правил редиректов (любые перенаправления, кроме редиректа со страницы на страницу) ставьте задачу на разработчика по проверке форм и корзины. Так как часто ломаются формы и клиент не получает заказы
Не правьте файл .htaccess через административную панель сайта (админку), так как если сайт ляжет, то вы не сможете ничего править
Важные правила по настройке файла
Правило №1. Файл .htaccess должен называться именно .htaccess, без каких-либо дополнительных расширений (например, .txt), иначе сервер не будет его распознавать и использовать.
Правило №2. Написанное ниже нужно вставить в самое начало .htaccess
Правило №3. В начале мелкие редиректы, потом глобальные
В файле всегда идут постраничные редиректы (с страницы на страницу), потом с раздела на раздел, а уже после глобальные правила (такие как с http на https, с www на без www и прочее).
Правило №4. Если что-то написано в #, то оно не учитывается
Если вы в начале любого правила напишите #, то такой редирект не сработает, так как он просто не будет учитываться. С помощью # пишите комментарии, чтобы другой SEO-специалист понял что за редирект вы сделали.
Правило №5. Создайте копию на компьютере перед редактированием
Убедитесь в том, что вы сохранили у себя на ПК резервную копию оригинального файла .htaccess, прежде чем вносить какие-либо изменения, чтобы можно было вернуть обратно.
Правило №6. Просто посмотрите на примере
Чтобы стало понятно что мы тут понаписали, проще увидеть пример и мы подготовили его для вас с подробным описанием.
Пример - просто нажми на этот текст
Надеюсь все понятно, если да, тогда полетели
Все правила по настройке 301-редиректов, которые упростят тебе жизнь
Мы собрали базу самых нужных перенаправлений для сайта, которые помогут навсегда избавиться от дублей на твоем сайте. Добавь статью в закладки, чтобы не потерять, так как материал очень полезный.
Если вам будет полезна информация, которая здесь находится, то ещё больше плюшек вы найдете в моем telegram канале. По возникающим вопросам/предложениям пишем в комментариях.
Все возможные варианты редиректов:
301 Редирект с 1 страницы сайта на другую
Редиректы, если в URL есть пробел
Чтобы в .htaccess работал редирект для URL в которых есть пробел ссылку нужно заключать в кавычки (без спецсимволов), т.е:
Редиректы с домена на домен
Редиректы для URL с GET-параметрами
URL с GET-параметрами — это адрес страницы, к которому добавлены специальные переменные после знака вопроса (?) или амперсанда (&), передающие данные на сервер (например, для фильтров, сортировки или отслеживания кампаний).
Редирект страниц на https-версию
Автоматически перенаправляет пользователя с небезопасной версии сайта (http) на защищённую (https), где данные передаются в зашифрованном виде.
Если не сработало, попробуйте варианты, которые указаны ниже
Редирект для слешей (/)
Редиректы с множественных слешей (/////) и на без слеша (/). Также применяется для URL с .html на конце. Не работают для главной
Автоматическая подстановка слеша (/) в конце адреса.
*Ставьте задачу на разработчика на проверку форм обратной связи после настройки, так редирект может ломать формы и могут не приходить заявки с сайта
Добавляем слеш(/), если его нет, и это не файл.
*Не добавляйте на сайты на Elementor (WordPress)
Переадресация с www на без www и наоборот
Перенаправление домена с www на без www
Редирект без www на версию с www
Для доменов на русском:
Перенаправление с www на без www
Без www на версию с www
Перенаправление всего домена одновременно с версии с www на версию без www и с HTTP на HTTPS
При использовании данного правила не используйте отдельные правила редиректов с http на https и www. В редких случаях из-за такого могут вовсе не работать все редиректы.
Прочие массовые редиректы
С одной категории сайта на другую
Убираем html на конце URL
301-редирект с .html на /путь/ с возможностью открывать .html-файлы по адресу без .html (нужно для сайтов на HTML)
Убираем index.php на конце URL
Не забывайте заменять https://site.ru/ на адрес своего сайта, иначе редиректы не сработают!
Удаление index.html для главной страницы
Массовый редирект одновременно с index.php и index.html
Перенаправление в случае обновления веб-ресурса
*Вместо 14.124.354.80 - заменить на свой IP адресс.
Защита от хотлинков (кражи контента)
Настройка перенаправлений на страницы ошибок (4xx, 5xx)
Пользовательская страница ошибок(404)
*Вместо указанных страниц с .html указываем адрес страницы ошибки на сайте
Другие варианты страниц ошибок
Правило для удаления лишних цифр на конце URL
Редиректы с верхнего регистра в нижний
Редирект с верхнего регистра в нижний ТОЛЬКО ДЛЯ URL (картинки он не трогает)
*может сделать редирект с внутренних страниц на главную, поэтому проверяйте внимательно
Редирект с URL в верхнем регистре на URL с нижним регистром
*Не всегда работает правильно и может создать цепочку редиректов. Если это произойдет прибегните к примеру №2
Пример №2
Напишите в поддержку хостинга сообщение, которое указано ниже
Доброго дня! Для сайта - https://ваш-сайт.ru/
Необходимо настроить редирект для URL-адресов с верхнего регистра в нижний. Для корректного редиректа нужно изменить файл http.conf. У нас к нему доступа нет, но он есть у вас. Нужно добавить в http.conf
RewriteMap lc int:tolower
После чего добавить в .htaccess правило
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^[^A-Z]*[A-Z].*
RewriteRule ^ https://%{HTTP_HOST}${lc:%{REQUEST_URI}} [L,R=301]
Закрываем сайт от индексации
Способ ниже закрывает сайт отдельно для каждой поисковой системы. При парсинге с помощью утилит парсит 1 страницу и выдает 404 ошибку.
Массовая блокировка ботов
Редирект для конкретного бота
Перенаправление всех страниц с одного домена на другой только для Google
Варианты ошибок в htaccess и решения
Проблема
На OpenCart при настройке массовых правил происходит редирект на URL с index.php?_route_= и только потом на рабочий URL
Решение
В htaccess не правильно настроены порядок редиректов. Нельзя размещать директивы и правила после
Перенесите все правила, которые стоят ниже вышеуказанного правила, на самый верх файла.