Переходите сюда
С новыми требованиями Google многим начал требоваться редирект на https, но не у всех получается воспользоваться, ввиду различных причин. Я довольно часто встречался с этой проблемой на различных сайтах 1C-Битрикс, да и на WordPress это стандартная ситуация.
Как правило, в корне CMS лежит файл с именем .htaccess. Если его нет, то просто создайте. Между строками <ifModule mod_rewrite.c> и </IfModule> напишите ваш код. Редирект следует писать перед остальными перенаправления вашей CMS
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Этот редирект перенаправит ваш сайт на https без каких — либо проблем.
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https [OR]
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ https://example.ru/$1 [R=301,L]
Где example.ru — это адрес вашего сайта
Если ваш сайт имеет несколько доменов, но вы хотите их все перенаправить на один, то этот редирект для вас. Данный редирект понадобился когда я занялся SEO — оптимизацией одного сайта. Из-за того, что у него было несколько доменов, была бешенная перелинковка и имелось 80000 ссылок сайта на самого себя. Ни одна система слежения ссылочной массы не могла показать мне сколько действительно доноров ссылается на этот сайт. Да и когда некачественные ссылки помогали раскрутке сайта?! А это действительно были некачественные ссылки, потому что страницы трафика не имели и были анкорными.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(.*)example.ru.*$
RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
example.ru — это адрес того сайта, на который нужно сослать все домены. Для тех кто в «танке» ещё раз скажу, что этот код будет работать только если все домены будут привязаны к одной и той же папке на хостинге.
Да очень просто! на сайте htaccess tester. Работает это так. В первой строке вы пишите адрес, на котором вы проверяете перенаправление, т.е. по какому адресу будет обращаться клиент. Во второй строке вы пишите ВЕСЬ код, который есть между строками <ifModule mod_rewrite.c> и </IfModule>. Я обращаю внимание на слово весь.
Если вы не уверены в своём редиректе, не поленитесь проверить его. Разные хостинги по — разному относятся к ошибкам в редиректах, иногда можно даже «уронить» сайт. Что я тоже делал не раз. Пожалуй только на бегете довольно лояльно относятся к перерасходу ресурсов сервера.