Разбираемся, как прописать в htaccess самые основные редиректы.
Как сделать редирект с www на без www
Вы уже могли читать другую статью по htaccess https://forwww.com/htaccess-how-to-delete-clone/ . Без долгих вступлений разберем код:
#WWW RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
Как сделать редирект с http на https
Тут тоже ничего сложного:
#HTTPS RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
То есть ваш блок кода выглядит теперь таким образом (показываю пример с сайтов на Битриксе):
IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On #WWW and HTTPS RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301] RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}] /IfModule>
* теги подправьте под себя.
Вот и всё 🙂 . Помните, этот код может не везде сработать, ведь сервера и настройки у всех разные. Банально может быть выключена обработка файла .htaccess или закешироваться файл, и в случаи кэша – приватная вкладка в помощь.