Drupal → Автоматический редирект с http на https версию сайта

12.04.2016

В .htaccess, перед

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

добавляем:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

или такой вариант, если хотите исключить редирект на локальной версии сайта:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !\.local$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Похожие записи

Комментарии

Игорь
14.04.2016, 23:55

А мне пришлось оставить обе версии и https - для Гугла и http - для Яндекса - так как для https - не работает в Вебмастере добавление прайс листа с выводом цен в поиске.
Правда https - не дает преимуществ в Гугле для выдачи в поиске ;-) Каких либо ощутимо заметных.

Тоже самое для nginx

location / {
  rewrite ^(.*)$ https://$http_host$request_uri redirect;
}
Игорь
22.01.2017, 11:12

У меня на одном хостинге не заработало с RewriteCond %{HTTPS} off
а видит только: HTTP:X-Forwarded-Proto
а вот так заработало:
Ещё 1 способ:
Добавляем после: RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Алексей
28.02.2019, 18:09

А у меня после этой строчки перестает работать сайт:

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !\.local$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Если оставить первые две, то работает сайт, если скопировать последнюю третью, то умирает. Пишет ошибка большое количество запросов.

Гость
09.01.2020, 17:21

Автору огромное спасибо! Этот редирект помог для мультиязычного сайта!

Гость
20.08.2020, 21:15

Автору большая благодарность) Действительно правило работает как надо.

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