htaccess редирект с htttp на https и с www на без www

Разбираемся, как прописать в 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 или закешироваться файл, и в случаи кэша – приватная вкладка в помощь.

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *