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

426

После того, как сайт переезжает на https протокол, многие вебмастера забывают о том, что необходимо настроить 301 редиректы с http на https и с www на https. Если этого не сделать, то веб- страница будет доступна сразу по 3 адресам и поисковики будут воспринимать ее, как три разных сайта, что негативно скажется на выдаче. Так же отсутствие переадресации  может привести к ошибкам в работе установленных плагинов. Поэтому при подключении к сайту ssl - сертификата  делом первостепенной важности является  установка 301 редиректов c http на https и с www на https в файле .htaccess.

Итак, приступим:

      1. Редирект с http на https

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
При возникновении циклического редиректа:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

     2. Редирект с www на https

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

Если не поможет, то такой вариант:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.ваш-сайт.ru$ [NC]
RewriteRule ^(.*)$ https://ваш-сайт.ru/$1 [R=301,L]

     3. Еще один важный редирект, про который обычно всегда забывают  -  редирект для страниц со слешем(/) в конце и без него. 

  • без слеша
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
  • со слешем
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

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

Ваш адрес email не будет опубликован.

*
code