Инструкция по установке редиректов. Виды и назначение




Содержание:

Типы кодов редиректов и их цель.

Почему большинство используют 301 редирект.

Редирект 301 для всех страниц с http на https с помощью .htaccess

Для остальных редирект кодов.

Редирект 301 с https:// на http:// через .htaccess

Для остальных редирект кодов.

Редирект на https только выбранной страницы, через .htaccess.

Редирект на https всех страниц, кроме одной, через .htaccess.

Редирект 301 с www на без www через .htaccess.

Редирект 301 с без www на c www, через .htaccess.

Редирект 301 со страниц со слешем на без слеша для всего сайта, через .htaccess.

Редирект 301 со страниц без слеша на слеш для всего сайта, через .htaccess.

Редирект с разных версий языка сайта на одну версию (например, с en.example.com на example.com).

Редирект со страницы «ошибка 404».

Редирект 301 с одного домена на другой, через .htaccess

Редирект с index.php и index.html на главную, через .htaccess

Редиректы играют важную роль в веб-разработке и оптимизации сайтов. Они позволяют автоматически перенаправлять пользователя с одной страницы на другую. В этой статье мы обсудим различные типы редиректов и объясним, когда и зачем они нужны.

Когда использовать редиректы?

1. Перемещение сайта на новый домен или поддомен: если вы меняете доменное имя своего сайта или создаете поддомен, редиректы позволят перенаправить посетителей с предыдущего адреса на новый адрес.

2. Изменение структуры URL: если вы меняете структуру URL на своем сайте, редиректы помогут перенаправить посетителей с предыдущих URL на новые URL, чтобы они не столкнулись с ошибкой «404 — Страница не найдена».

3. Указание предпочтительной версии сайта: если у вас есть сайт с www и без www в адресе, вы можете настроить редирект для того, чтобы все пользователи автоматически перенаправлялись на предпочтительную версию (например, с example.com на www.example.com или наоборот).

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

Кроме того, редиректы используются в многих других случаях, включая установку отчетности аналитики, обработку ошибок, управление сеансами и др.

Типы кодов редиректов и их цель

300 «Множество вариантов» используется, когда клиентский запрос может быть выполнен несколькими способами и сервер предоставляет список этих вариантов. Например, если вы запрашиваете веб-страницу и она может быть отображена в разных форматах, сервер может вернуть код 300 и список этих форматов, чтобы вы могли выбрать то, что вам подходит.

301 «Перемещено навсегда» используется, когда страница была перемещена на новое место окончательно. Этот тип редиректа является наиболее часто используемым и приказывает поисковым системам обновить свой индекс с новой страницей. Например, если вы сохраняли закладку для веб-страницы, но она была перемещена на другой домен или поддомен, сервер отправит код 301 и новый адрес, чтобы вы могли обновить свою закладку.

302 «Перемещено временно» используется, когда страница временно перемещена на другое место. Иногда он используется для технических целей или во время обслуживания сайта. Поисковые системы могут оставить исходную страницу в индексе. Например, веб-страница может быть временно доступна по другому адресу из-за технических причин. Код 302 и временный адрес помогут вам получить доступ к этой странице.

303 «Смотреть другое» используется для перенаправления пользователей на другую страницу без указания на то, что исходная страница перемещена. Этот тип редиректа редко используется и может быть использован для временного перенаправления или предложения альтернативных продуктов. Например, если вы отправили форму на веб-странице, сервер может вернуть код 303 и адрес другой страницы, на которую вам нужно будет перейти для просмотра результатов.

304 «Не изменено» используется, когда страница не была изменена с последнего посещения. Он указывает браузеру использовать закэшированную версию страницы, что помогает сэкономить пропускную способность и ресурсы сервера.

305 «Использовать прокси» используется для указания браузеру доступа к запрашиваемому ресурсу через прокси-сервер для обеспечения анонимности или сжатия данных. Этот тип редиректа редко используется.

306 является зарезервированным кодом состояния и не используется.

307 «Временное перенаправление» похож на 302, но разработан для использования в HTTP 1.1. Он позволяет более точно обрабатывать перенаправления POST-запросов и не поддерживается всеми браузерами.

308 «Постоянное перенаправление» похож на 301, но сохраняет исходный метод запроса, такой как POST. Он используется для постоянных перенаправлений без изменения метода запроса.

Почему большинство используют 301 редирект

Использование 301 редиректа является эффективным, потому что он сохраняет рейтинг и авторитет старой страницы, обеспечивает плавный переход для пользователей и информирует поисковые системы о перемещении страницы. Однако при временной недоступности страницы можно использовать и другие типы временных перенаправлений, такие как 302 редирект, чтобы указать поисковым системам, что страница будет восстановлена в ближайшем будущем.

Редирект 301 для всех страниц с http на https с помощью .htaccess

Вариант 1


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

Вариант 2


RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Если второй вариант не сработал и появляется циклическая переадресация:

Вариант 3


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Вариант 4


RewriteEngine On 
RewriteCond %{ENV:HTTPS} !on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Для остальных редирект кодов

Для перенаправления всех страниц с HTTP на HTTPS, включая перенаправление с HTTP://www на HTTPS://, можно использовать следующие редиректы:

Редирект 302 (временное перенаправление):

Это перенаправление будет кэшироваться браузерами и другими приложениями, следовательно, они будут использовать HTTPS для всех последующих запросов к этому сайту.


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

Редирект 303 (см. другое):

Это перенаправление считается временным и не будет кэшироваться, поэтому HTTPS будет использоваться только для текущего запроса.


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=303,L]

Редирект 307 (временное перенаправление):

Это перенаправление указывает браузеру сделать GET-запрос к новой странице. Обычно используется после успешной обработки POST-запроса.


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=307,L]

Редирект 308 (постоянное перенаправление):

Аналогично предыдущему временному перенаправлению, но сохраняет тип запроса (например, POST или PUT). Редирект 308 аналогичен постоянному редиректу 301.


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=308,L]

Редирект 301 с https:// на http:// через .htaccess

Вариант 1


RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Вариант 2


RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://name.site/$1 [R=301,L]

Для остальных редирект кодов

В большинстве случаев вы будете использовать код 301 для постоянного перенаправления, однако если вам нужно использовать другой код, вы можете внести соответствующие изменения в коде выше. Например, если вы хотите использовать код 302, замените [R=301] на [R=302]. Примеры использования других редиректов:

Редирект 300


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=300,L]

Редирект 302


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

Редирект 303


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=303,L]

Редирект 304


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=304,L]

Редирект 305


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=305,L]

Редирект 306


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=306,L]

Редирект 307


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=307,L]

Редирект 308


RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=308,L]

Редирект на https только выбранной страницы, через .htaccess

Вариант 1


RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/admin.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант 2


RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} =/admin.php
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Редирект на https всех страниц, кроме одной, через .htaccess


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

Редирект 301 с www на без www через .htaccess

Вариант 1


RewriteEngine On
RewriteCond %{HTTP_HOST} ^poddomen\.domain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]

Вариант 2


RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Редирект 301 c без www на с www, через .htaccess

Вариант 1


RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$ [NC]
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Вариант 2


RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.poddomen\.domain\.ru$ [NC]
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Редирект 301 со страниц со слешем на без слеша для всего сайта, через .htaccess

Вариант 1


RewriteEngine on
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^/]$
RewriteRule ^(.*)/$ /$1 [R=301,L]

Вариант 2


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

Редирект 301 со страниц без слеша на слеш для всего сайта, через .htaccess

Вариант 1


RewriteEngine on
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]

Вариант 2


RewriteEngine on
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Редирект с разных версий языка сайта на одну версию (например, с en.example.com на example.com)


RewriteEngine On
RewriteCond %{HTTP_HOST} ^en.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Редирект с несуществующих страниц «ошибка 404»

Откройте конфигурационный файл .htaccess и добавьте в него строку:

<pre>
<code>
ErrorDocument 404 http://www.site.com/404.html
</code>
</pre>

Где www.site.com — адрес вашего сайта, а 404.html — страница, на которую будет вести редирект с несуществующих страниц. Эту страницу необходимо создать самостоятельно.

Редирект 301 с одного домена на другой, через .htaccess

Откройте конфигурационный файл .htaccess и добавьте в него строку:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^старый_сайт.ru
RewriteRule (.*) http://новый_сайт.ru/$1 [R=301,L]

Редирект с index.php и index.html на главную, через .htaccess

Редирект для index.php

Откройте конфигурационный файл .htaccess и добавьте в него строку:


RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://name.site/ [R=301,L]

Редирект для index.html

Откройте конфигурационный файл .htaccess и добавьте в него строку:


RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ https://site.ru/ [R=301,L]


Последние статьи

Внедрение CMS для удобного управления контентом веб-сайта

Внедрение системы управления контентом (CMS) является неотъемлемой частью эффективного управления контентом веб-сайта. CMS позволяет легко создавать, редактировать и управлять контентом на сайте, обеспечивая максимальную гибкость и удобство использования. Используя современные CMS-платформы, мы гарантируем, что ваш веб-сайт будет эффективно организован и привлекательно представлен. Мы специализируемся на индивидуальной настройке CMS, что позволяет нам создать совершенно уникальные функциональные возможности, отвечающие вашим уникальным потребностям.

Разработка креативного сайта — от идеи до реализации

Создание креативного сайта — это важный шаг для любого бизнеса, ведь именно он является лицом компании в онлайн-мире. Заказывая креативный сайт, вы получаете не только привлекательный дизайн, но и эффективный инструмент для привлечения клиентов и увеличения продаж. Креативный сайт — это не просто набор страниц с информацией о компании и ее продукции. Это целое творческое решение, которое призвано удивить посетителей своей оригинальностью, функциональностью и уникальностью дизайна. Правильно созданный креативный сайт помогает подчеркнуть индивидуальность вашего…

Разработка сайта на WordPress по макетам Figma

Разработка сайта на платформе WordPress по макетам, созданным в программе Figma, является одним из наиболее популярных и востребованных направлений среди веб-разработчиков. WordPress предоставляет удобный интерфейс для создания, редактирования и управления сайтами, а Figma предоставляет возможность детально проработать дизайн и структуру страниц перед их реализацией. Основная задача при разработке сайта по макетам — подобрать оптимальное сочетание дизайна и функциональности, чтобы сайт как визуально, так и технически полностью соответствовал макетам. Создание сайта на WordPress начинается с …

Правильный подбор цветовой схемы для вашего сайта

Выбор цветовой схемы для вашего сайта является ключевым моментом при создании визуальной идентичности и привлекательности онлайн-платформы. Правильно подобранные цвета могут оказать значительное влияние на ваших посетителей, создавая желаемое настроение и обеспечивая удобство использования веб-ресурса. В этой статье мы рассмотрим несколько важных шагов, которые помогут вам выбрать идеальную цветовую палитру для вашего сайта. Определите основные цели вашего сайта: Прежде чем приступать к выбору цветов, важно понять, какие впечатления и …

Наши кейсы

За последнее время мы создали достаточно большое количество детально проработанных проектов от landing page до интернет-магазинов.

ritual-one.ru

Ритуальная служба №1 в Санкт-Петербурге

Подробнее

atropatena.ru

Консалтинговая компания «АТРОПАТЕНА»

Подробнее

valeriya-kuznetsova.ru

Личный сайт психолога/психотерапевта

Подробнее

Точка Доставки

Доставка с WILDBERRIES И OZON

Подробнее

startarget.pro

Разработка сайта Digital агенству startarget.pro

Подробнее

Интернет-магазин

Узнать больше

Корпоративный

Узнать больше

Понедельник - пятница :
с 09:00 до 20:00