Все виды редиректов, для чего нужны и как работают

Прочитанно: раз
Автор: DenisWmr

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

Все виды редиректов для сайта

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

Пример: сайт.ру и сайт.ру/index.php это два разных url но с одинаковым контентом на странице. Настройка редиректов производится в файле .htaccess, который находится в корне вашего сайта.

 

301 редирект с одного домена на другой

Если вам нужно настроить редирект на другой сайт, то-есть с одного домена на другой, код ниже нужно вставить на старом сайте в файл .htaccess, введя адрес нового.

Redirect / http://www.сайт.ру

 

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

Применяется в том случае когда вы хотите что бы ваш сайт отображался по единому адресу с https.

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

 

301 редирект с www и без www

Редирект с www на без www

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

Редирект без www на www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^сайт\.ру$ [NC]
RewriteRule ^(.*)$ http://сайт.ру/$1 [R=301,L]

 

Как убрать из url index.php и index.html

Как убрать index.php из url

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://сайт.рус/ [R=301,L]

Как убрать index.html из url

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ https://сайт.рус/ [R=301,L]

 

Редирект со слэшем и без

Редирект без слеша на со слэшем

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Редирект со слеша на без слеша

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

Редирект двойной слэш //
Как убрать двойной слэш на конце url сайта.

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

Понравилась статья? Поделиться!

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

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