После того, как сайт переезжает на https протокол, многие вебмастера забывают о том, что необходимо настроить 301 редиректы с http на https и с www на https. Если этого не сделать, то веб- страница будет доступна сразу по 3 адресам и поисковики будут воспринимать ее, как три разных сайта, что негативно скажется на выдаче. Так же отсутствие переадресации может привести к ошибкам в работе установленных плагинов. Поэтому при подключении к сайту ssl - сертификата делом первостепенной важности является установка 301 редиректов c http на https и с www на https в файле .htaccess.
Итак, приступим:
1. Редирект с http на https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
2. Редирект с www на https
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Если не поможет, то такой вариант:
RewriteCond %{HTTP_HOST} ^www.ваш-сайт.ru$ [NC]
RewriteRule ^(.*)$ https://ваш-сайт.ru/$1 [R=301,L]
3. Еще один важный редирект, про который обычно всегда забывают - редирект для страниц со слешем(/) в конце и без него.
- без слеша
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
- со слешем
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]