301 redirect for html page

Редирект через .htaccess

Редирект можно настроить разными способами: в панели управления хостингом, через код HTML, через PHP, с помощью web.config, через .htaccess, а также другими способами. Рассмотрим, в чём особенность редиректа через .htaccess и как настроить 301-й .htaccess-редирект с одной страницы на другую, а также Bitrix redirect.

Если вы ещё не знаете, зачем нужно перенаправление страниц сайта, читайте нашу статью Что такое редирект.

В каких случаях подойдет .htaccess-редирект

Чтобы понять, для каких целей лучше подходит .htaccess-редирект, разберёмся, что такое .htaccess.

.htaccess — этот системный файл, который принадлежит корневой структуре сайта. В отличие от главного конфигурационного файла, который позволяет выполнять настройку веб-сервера в целом, .htaccess даёт возможность изменять настройки для отдельно взятых папок и пользователей.

Файл .htaccess позволяет вариативно настроить сайт. Действие команд из .htaccess распространяется на папки и подкаталоги, расположенные в одной директории с этим файлом. Если для какой-либо вложенной директории нужны иные инструкции, в ней также можно создать .htaccess. Если .htaccess расположен в корневой директории сервера, его действие распространяется на весь сервер, кроме тех директорий, где находится другой файл .htaccess.

Таким образом, через .htaccess можно сделать перенаправление точечно, а не сразу для всего ресурса. Этот вариант отлично подойдет в том случае, если вам нужно настроить переадресацию только для одной или нескольких страниц сайта.

Для чего нужен 301-й редирект

Помимо разных способов настройки переадресации, существуют разные виды редиректов. Каждый из них имеет своё кодовое название. Основные виды:

  • 300 — сообщает, что по искомому запросу можно перейти не на одну, а на несколько альтернативных страниц;
  • 301 — постоянный;
  • 302 — временный;
  • 303 — на схожую по тематике страницу;
  • 305 — отсылающий к подключению через прокси-сервер.

Также существуют 304-й, 306-й и 307-й редиректы. Однако сейчас эти виды практически никто не использует. Один из самых популярных видов — это 301-й.

301-й редирект (Moved Permanently) — это постоянный редирект. Используется для перемещения страницы на новый URL-адрес насовсем. Когда поисковые системы встречают страницу с редиректом 301, они «понимают», что теперь необходимо индексировать новую страницу, а старую можно полностью исключить из индексации. Если настроить переадресацию 301 некорректно, на странице будет отображаться ошибка 404. Индексация страниц с ошибками приводит к снижению SEO-показателей всего веб-ресурса.

Как сделать редирект через .htaccess

Чтобы сделать перенаправление 301 через .htaccess, перейдите в каталог сайта и откройте .htaccess. Если файла ещё не существует, создайте его. После этого добавьте в файл строки кода из подходящей инструкции ниже.

Кириллические домены (в зоне .РФ .РУС и др.) необходимо прописывать в коде в формате Punycode: Как перевести домен в Punycode.

1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.

RewriteCond % off RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC] RewriteRule ^(.*)$ https://%% [L,R=301]
 Options +FollowSymLinks RewriteEngine On RewriteCond % ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] 

Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.

RewriteCond % on RewriteRule .* - [E=SSL:s] RewriteCond % !^www\.(.*) [NC] RewriteRule ^(.*)$ http%://www.%/$1 [R=301,L]

Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.

RewriteCond % off RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC] RewriteRule ^(.*)$ https://%% [L,R=301]

В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

RewriteEngine On RewriteCond % old-site.ru RewriteRule (.*) http://new-site.ru/$1 [R=301,L]
  • old-site.ru — домен, с которого происходит редирект;
  • new-site.ru — домен, на который происходит редирект.
Читайте также:  Android applications code in java

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond % site.ru/old-page RewriteRule (.*) http://site.ru/new-page$1 [R=301,L]
  • site.ru/old-page — адрей прежней страницы,
  • site.ru/new-page — адрес новой страницы.

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond % ^www.site.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Где site.ru — имя вашего домена.

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond % ^site.ru RewriteRule (.*) http://www.site.ru/$1 [R=301,L]

Где site.ru — имя вашего домена.

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond % 123.123.123.123 RewriteRule ^(.*)$ http://site.ru [R=301,L]

Где site.ru — имя вашего домена.

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond % ^443$ [OR] RewriteCond % =on RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Где site.ru — имя вашего домена.

Добавьте в .htaccess код из нужного вам примера ниже:

Для всех страниц с http:// на https://, в том числе и с http://www на https://

RewriteEngine On RewriteCond % !^443$ RewriteRule .* https://%% [R=301,L]

Если первый вариант не поможет, воспользуйтесь вторым вариантом:

RewriteEngine On RewriteCond % =off RewriteRule (.*) https://%% [QSA,L]

Если все варианты не помогли и возникает циклическая переадресация:

RewriteEngine On RewriteCond % off RewriteCond % !https RewriteRule ^(.*)$ https://%% [L,R=301]
RewriteEngine On RewriteCond % !on RewriteRule ^(.*)$ https://%% [L,R=301]

В примерах ниже переадресация настраивается для страницы login.php:

RewriteEngine On RewriteCond % =off RewriteCond % =/login.php RewriteRule (.*) https://%% [QSA,L]
RewriteEngine On RewriteCond % !^443$ RewriteCond % =/login.php RewriteRule .* https://%% [R,L]

В примере ниже редирект настраивается для страницы test.php.

RewriteEngine On RewriteCond % =off RewriteCond % !^/test.php RewriteRule (.*) https://%% [QSA,L]

В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

RewriteEngine On RewriteRule ^$ https://site.ru [R=301,L]

Если вам необходимо сделать .htaccess редирект с get параметрами, укажите:

RewriteCond % /index.php RewriteRule ^(.*)$ http://site.ru/ [R=301,L]

Где site.ru — имя вашего домена.

Если вам необходимо сделать .htaccess редирект на index php, введите:

RewriteCond % ^[A-Z]\ /index\.(php|html|htm)\ HTTP/ RewriteRule ^(.*)index\.(php|html|htm)$ http://site.ru/$1 [R=301,L]

Где site.ru — имя вашего домена.

Если вы выполнили все шаги инструкции, но не получили желаемого результата, это может быть связано с локальными настройками. Напишите заявку в службу поддержки, наши специалисты оперативно вам помогут.

Читайте также:  Java api and packages

Теперь вы знаете, как сделать редирект со страницы на страницу через htaccess и сможете настроить его по нашей инструкции.

Источник

Шпаргалка по реализации 301 редиректа

301 редирект нужен при «склейке» зеркал с www и без, при переводе сайта с HTTP на HTTPS, при переезде на новый домен, в случае изменения URL страницы и переносе её в другой раздел сайта. Как правильно настроить 301 редирект? Прилагаем инструкцию с примерами и шаблонами.

  • Краткая справка: что есть 301 редирект
  • Как задать простой редирект в .htaccess: инструкция
  • Самые распространенные 301 редиректы и их реализация
  • Особенности 301 редиректа, о которых полезно знать
  • Чего НЕ нужно делать при работе с 301 редиректом

Простой код состояния 301 (Permanent Redirect), а в русскоязычном сегменте 301 редирект — это способ перенаправить пользователя со старого адреса страницы/ресурса на актуальный. Проделывается это на уровне сервера. В SEO сложно преувеличить ценность 301 редиректа — он помогает исключить из выдачи неактуальные URL, заменяя их новыми. В итоге сохраняется 90-99% ссылочного веса страниц и их позиции в выдаче поисковых систем.

Если перевести техническое взаимодействие на простой человеческий язык, то буквально происходит следующий диалог:301 редирект:— Запрашиваемую страницу я перенес вот сюда, на этот адрес. Это постоянное новое местоположение, возвращать мы её не будем.Браузер:— Хорошо, понял. Отправляю посетителя сразу туда.

Настройку можно осуществить разными способами: скриптами, через HTML и PHP, через редактирование файла .htaccess. О последнем варианте расскажем подробно.

.htaccess — файл, позволяющий менять глобальные настройки и конфигурации веб-сервера Apache.

Иногда для настройки редиректов необходимо связаться с саппортом хостинга.

В скачанном с сайта файле .htaccess все редиректы прописывайте в конце, после исходного содержимого

  • Redirect 301 — инструкция, говорящая о том, что страница перемещена;
  • слэш / — указывает на то, что с верхнего уровня сайта (включая подкаталоги) всё будет переадресовано;
  • http://new-site.com — новая страница/сайт.

Переадресуем конкретную страницу:

301 редирект, перенаправляющий с сайта www на сайт без www:

301 редирект с /index.php на корень

301 редирект с /index.html на корень

301 редирект с URL со слэшем в конце на URL без слэша:

Файл .htaccess с двумя редиректами: с сайта с www на сайт без www и со страниц без / на страницы со / в конце

301 редирект со старого домена на актуальный домен:

301 редирект со страницы на другую страницу:

301 редирект с http на https:

RewriteEngine On RewriteCond % ^80$ [OR] RewriteCond % =on RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]

301 редирект с https на http:

RewriteEngine On RewriteCond % ^443$ [OR] RewriteCond % =on RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

Простой редирект поможет справиться с дублями страниц, засоряющими выдачу. Например, для поисковых систем адреса https://www.site.ru/ и https://www.site.ru — совершенно разные, поэтому нужно определиться, какой вариант использовать: со слэшем (/) или без.

Читайте также:  Reference files in java

С помощью 301 редиректа убираем слэш:

С помощью 301 редиректа добавляем слэш:

Заменяем файлы .htm на файлы .html:

Методы редиректа с .htaccess срабатывают только на серверах с ОС Linux, с установленным Apache и включенным Mod-Rewrite. Кстати, .htaccess дополнительно нагружает сервер Apache, потому прописывать те же команды в hpptd.conf куда эффективнее, однако веб-мастерам редко предоставляют доступы к конфигурационным файлам.

На WordPress и некоторых схожих CMS наличествуют специальные модули, с помощью которых можно управлять редиректами. Поэтому если вы вдруг не обнаружили файл .htaccess, не торопитесь с выводами о том, что редиректов на сайте нет.

Избегайте исправления файла .htaccess напрямую через CMS сайта! В случае критической ошибки в действиях административная панель прекратит работу, а для восстановления потребуется FTP / SSH-доступ. Используйте для доступа к каталогам и файлам на сайте любой из FTP-клиентов, который вам удобен: FileZilla, WinSCP, FAR Manager, FireFTP, Total Commander, Cyberduck.

Запросите доступы FTP для проекта у менеджера по документам, зайдите на FTP-клиент, заполните окошки «хост», «имя пользователя», «пароль». В корневом разделе сайта найдите .htaccess, далее скачайте и сделайте бэкап перед началом работы.

«Склейка» и передача PR занимает довольно много времени (сроки зависят от скорости обработки роботами поисковых систем), поэтому не удаляйте старую страницу/сайт, пока не убедитесь в окончательном переносе.

  • Не применяйте иные статус-коды ответа сервера в случаях, где требуется 301 редирект. Совет распространяется на настройку https, настройку зеркал сайта с www и т. д.
    Самая частая ошибка, допускаемая по незнанию, — настройка временного 302 редиректа вместо постоянного 301 редиректа. В результате такой настройки роботы поисковых систем получают данные о том, что страницы перемещены на время, хотя это не так.
  • Опасайтесь запуска циклической переадресации. Из-за некорректной настройки .htaccess или неправильной работы плагина CMS может образоваться целая цепочка перенаправлений. Циклическая переадресация приводит к ошибке ERR_TOO_MANY_REDIRECTS при запросе перенесенной страницы.
  • Не перенаправляйте запросы на страницу 404. Регулярно проверяйте сайт на битые ссылки.
  • Не ставьте подряд два, три и более редиректов. Переизбыток перенаправлений увеличивает нагрузку на сервер, замедляя загрузку сайта. В результате теряется вес конечной страницы.
  • Не настраивайте переадресацию для страниц с несколькими URL, которые относятся к разным каталогам. В качестве альтернативы применяйте rel=canonical.
  • Не ставьте редиректы на похожие страницы, содержащие разную информацию. К примеру, на 2 схожих по характеристикам товара в интернет-магазине.
  • Не применяйте редиректы в работе со служебными файлами. Файл robots.txt при любых переездах оставляйте доступным, чтобы роботы Гугла и Яндекса свободно его распознавали и обрабатывали.

Обязательно перепроверяйте результаты настройки. Работа с редиректами — дело тонкое, а от опечаток и ошибок, в итоге нарушающих работоспособность сайта, не застрахован никто. И помните о том, что браузеры кэшируют редиректы, поэтому проверку проводите только после очистки кэша. Удачи в реализации!

Источник

Оцените статью