Как правильно настроить редирект на HTTPS в htaccess

Уважаемые разработчики.

Не могу найти инструкцию как правильно прописать настройки редиректа на HTTPS в htaccess.

Сделал так:

===============================================

<FilesMatch "\.md5$">

Deny from all

</FilesMatch>


DirectoryIndex index.php

Options -Indexes

# Comment the following line, if option Multiviews not allowed here

Options -MultiViews


AddDefaultCharset utf-8


<ifModule mod_rewrite.c>

RewriteEngine On

# Uncomment the following line, if you are having trouble

#RewriteBase /


RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png)$ [or]

$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L,QSA]

</ifModule>


<ifModule mod_headers.c>

<FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">

Header set Cache-Control "max-age=3153600, public"

</FilesMatch>

</ifModule>


RewriteCond %{HTTPS} off

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

===============================================


Но получается что перебрасывает не на тот же адрес, с заменой http на https, а на index.php

Видимо из за RewriteRule ^(.*)$ index.php [L,QSA]

1 ответ

  • 1

    Редирект на https следует делать первым (после RewriteEngine On и #RewriteBase /)

    • +1
      Сергей Сергей 5 апреля 2017 17:50 #

      Уважаемые разработчики. Подскажите, Для того, чтобы ссылки на сайте отображались через https:// необходимо выставить переменные HTTP_X_FORWARDED_PROTO"] = 'https'; и $_SERVER['HTTPS'] = 'on';

      писали в техподдержку хоста, но там сказали, что переменные эти устанавливаются в скриптах сайта. Поэтому вот такой вопрос, если их прописать в корневом файле index.php при обновлении движка эти изменения затрутся или нет?

      Или есть какой-то еще вариант?

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите