Заработок
в интернете
Как заработать   Добавить в Избранное
Главная Меню

301 редирект

Многие интернет сервисы автоматически добавляют перед доменом www, таким образом, с течением времени, на ваш сайт постепенно будут добавляться внешние ссылки с www, хотя основной адрес вашего без www. Такие ссылки с www не будут передавать вес вашему основному сайту без www. Для поисковых систем домен с www и без www - это формально два разных сайта и для того, чтобы они правильно его индексировали и ранжировали в выдаче как единое и целое нужен 301 редирект с домена с www на домена без www или наоборот. Самый простой вариант редиректа для хостинга на Apache - при помощи файла .htaccess, который находится в корне сайта.

Универсальный редирект с www на без www для любого домена

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

Универсальный редирект с без www на www для любого домена

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

Универсальный редирект с www на без www для любого домена с протоколом https

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

Универсальный редирект с без www на www для любого домена с протоколом https

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

Иногда требуется исключить из редиректа один или несколько файлов, например robots.txt, чтобы указать яндексу главное зеркало с помощью директивы Host.

Универсальный редирект с www на без www для любого домена, за исключением файла robots.txt

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

Универсальный редирект с без www на www для любого домена, за исключением файла robots.txt

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

Универсальный редирект с протокола http на https для любого домена

RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

Универсальный редирект всех зеркал сайта на протокол https для любого домена

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule (.*) https://%1/$1 [R=301,L] RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

Универсальный редирект всех зеркал сайта на протокол https для любого домена, за исключением файла robots.txt

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteCond %{REQUEST_URI} !^/robots\.txt$ RewriteRule (.*) https://%1/$1 [R=301,L] RewriteCond %{HTTPS} =off RewriteCond %{REQUEST_URI} !^/robots\.txt$ RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

Возможно Вы даже и не обращали внимание, что Ваша главная страница сайта или папки может быть доступна по двум адресам: site/ и site/index.php. С точки зрения поисковой оптимизации это называется дублями. Чтобы избавиться от дублей используем 301 редирект.

301 редирект с index.php, index.html и index.htm на корень сайта, папки "/"

RewriteCond %{THE_REQUEST} /index.(php|html|htm) RewriteRule ^(.*/)?index.(php|html|htm)$ /$1? [NC,R=301,L]

301 редирект с index.php, index.html и index.htm на корень сайта, папки "/" для сайтов на протоколе https

RewriteCond %{THE_REQUEST} /index.(php|html|htm) RewriteRule ^(.*/)?index.(php|html|htm)$ https://%{HTTP_HOST}/$1? [NC,R=301,L]

Данный код нужно вставить в начало файла .htaccess.
Для этого скачайте файл .htaccess на свой компьютер с корня сайта расположенного на сервере хостинга. Откройте файл .htaccess для редактирования, например, в блокноте или Notepad++. Добавьте в него нужные вам строки. Сохраните изменения в файле и загрузите его обратно на сервер.

Результат можно проверить с помощью сервиса проверки HTTP заголовков сайта.