Комплексный редирект на https://www.

Пробывались эти редиректы:
# редирект на https
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [L,R=301]
# редирект на https
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ Для просмотра ссылки Войди или Зарегистрируйся [L,R=301,NE]
#Перенаправление с без www на www:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)$
RewriteRule ^(.*) Для просмотра ссылки Войди или Зарегистрируйся [L,R=301]
# Редирект c www на без www
RewriteCond %{HTTP_HOST} ^Для просмотра ссылки Войди или Зарегистрируйся
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
Кроме этого в htaccess больше ничего нет? Он чист?
Такую конструкцию пробовали?
Код:
RewriteEngine On

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

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
Или так:
Код:
RewriteEngine On

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

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
Или так:
Код:
RewriteEngine On

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

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
Или так:
Код:
RewriteEngine On

RewriteCond %{SERVER_PORT} !443
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
В общем вариантов различных хватает, но хотелось бы понимать что именно у вас в htaccess? Или он пустой и вы просто пытаетесь 2 этих правила совместить?
 
Кроме этого в htaccess больше ничего нет? Он чист?
Такую конструкцию пробовали?
Код:
RewriteEngine On

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

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
Или так:
Код:
RewriteEngine On

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

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
Или так:
Код:
RewriteEngine On

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

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
Или так:
Код:
RewriteEngine On

RewriteCond %{SERVER_PORT} !443
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST}  !^www\.  [NC]
RewriteRule (.*)  https://www.%{HTTP_HOST}/$1 [R=301,L]
В общем вариантов различных хватает, но хотелось бы понимать что именно у вас в htaccess? Или он пустой и вы просто пытаетесь 2 этих правила совместить?

При этих всех конструкциях сайт недоступен пишет "бесконечный редирект"
Эта тоже не работает:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* Для просмотра ссылки Войди или Зарегистрируйся [R,L]
 
При этих всех конструкциях сайт недоступен пишет "бесконечный редирект"
А если чистый htaccess - случайно никаких редиректов не происходит? Например с http на https?
 
А если чистый htaccess - случайно никаких редиректов не происходит? Например с http на https?

Вот эта часть
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
отключает сайт
и
такие части
RewriteCond %{HTTPS} !=on
RewriteRule .* Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
не делают редерект на https
 
Вот эта часть
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
отключает сайт
и
такие части
RewriteCond %{HTTPS} !=on
RewriteRule .* Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
не делают редерект на https
Если оставить пустой htaccess и попробовать открыть 4 урла - они все нормально открываются?
Код:
http://www.site.com
http://site.com
https://www.site.com
https://site.com
Ни один не редиректит на другой вариант?
 
Сейчас вот так:
Код:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Открывается по прямому переходу
Для просмотра ссылки Войди или Зарегистрируйся

и перебрасывают на Для просмотра ссылки Войди или Зарегистрируйся следующие URL:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

и естественно открывается по прямому входу сам
Для просмотра ссылки Войди или Зарегистрируйся
 
Открывается по прямому переходу
Для просмотра ссылки Войди или Зарегистрируйся

и перебрасывают на Для просмотра ссылки Войди или Зарегистрируйся следующие URL:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

и естественно открывается по прямому входу сам
Для просмотра ссылки Войди или Зарегистрируйся
Окей. Теперь после этого правила добавляем
Код:
RewriteCond %{SERVER_PORT} !443
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Что получаем при вводе Для просмотра ссылки Войди или Зарегистрируйся ?
 
Назад
Сверху