Зачем нужны редиректы:

  • переезд на новый домен;
  • склейка дублей страниц;
  • санкции поисковых систем.

Редиректы действуют постоянно, передают ссылочный вес, ТИЦ сайта и PR со старой страницы на новую.

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

  • переадресация должна идти от конкретных случаев к более глобальным
  • минимизируйте количество срабатываний редиректов (желательно чтобы их вообще не было), каждый редирект это время ожидания пользователя
  • в данный момент браузеры настолько «умные» что кешируют редиректы, с одной стороны хорошо – уменьшается время перед загрузкой целевой страницы, с другой редирект может устареть или быть неверным

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

RewriteEngine on

1) У главной страницы сайта site.ru всегда присутствует полный ее дубль по адресу site.ru/index.php

Для исправления данной ситуации используем следующий код для перенаправления:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

2) Перенаправление всех имен сайта на основной домен

RewriteCond %{HTTP_HOST} !^site.ru$

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

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

RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]

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

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

RewriteCond %{HTTP_HOST} ^site.ru$ [NC]

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

5) Редирект на https

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)

RewriteRule .* %1/ [R=301,L]

7) Редирект со слеша на без слеша в конце

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)/$ /$1 [R=301,L]

Термобелье мужское