Редирект с http на https

Не могу установить правельный редирект

#1 14 октября 2014 в 08:19
Здравствуйте. Не могу подобрать нужную схему редиректа. Установил сертификат, а настроить не получается.
Сейчас схема такая:
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ site.ru/$1 [R=301,L]
Но при ней со всех страниц сайта редиректит на главную, причем на index.php
htaccess стандартный.
#2 14 октября 2014 в 09:26
RewriteCond %{HTTPS} off
RewriteRule ^.*$ %{SERVER_NAME}%{REQUEST_URI} [L,R]

или

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ %{SERVER_NAME}%{REQUEST_URI} [L,R]

но надо вставить до блока:
RewriteCond %{REQUEST_URI} !\.(ico|css|js|txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !^/admin
RewriteCond %{REQUEST_FILENAME} !^/migrate
RewriteCond %{REQUEST_FILENAME} !^/install
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

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

дефолтного чтассесс
#3 14 октября 2014 в 09:35
По дефолту все строки на месте. Добавляю
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ %{SERVER_NAME}%{REQUEST_URI} [L,R]

Со ссылки site.ru/site/site.html перекидывает на site.ru/index.php и так со всех страниц. В первом случае тоже самое.
#4 14 октября 2014 в 09:55

По дефолту все строки на месте. Добавляю

BS
В какое место добавляете? В конец? Попробуйте сразу после строк:
RewriteEngine On
RewriteBase /
RewriteRule ^.htaccess$ — [F]

добавить.
#5 14 октября 2014 в 10:14
Спасибо. Все работает. Проблема была именно в месте размещения команды.
#6 13 августа 2015 в 22:52
Очень помогла данная тема, но сделаю добавочку. Если у вас зацикливается редирект, то можно попробовать вот так:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ %{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#7 14 августа 2015 в 22:56

Для nginx:

server {
server_name domen.ru www.domen.ru;
listen 127.0.0.1; /* здесь IP вашего сервера */
listen 127.0.0.1:443 ssl spdy; /* аналогично, включаем ssl и спиди */
...
if ($scheme = http) { rewrite ^ https://$server_name$request_uri? permanent; } /*сам редирект */
....
}

И да, чтобы получить A+, не забываем добавлять строчку add_header Strict-Transport-Security max-age=31536000;
#8 23 ноября 2023 в 09:29

У меня для переадресации заработал только такой:

  1. RewriteCond %{ENV:HTTPS} !on
  2. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.