yous
@yous

Как сделать переброс с http на https?

Помогите сделать переброс с http на https...

вот правило в .htaccess

RewriteCond %{HTTPS} off
RewriteRule .* - [E=SSL:s]
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteCond %{REQUEST_URI} !^(.*)/robots\.txt$ 
RewriteRule ^(.*)$ http%{ENV:SSL}://www.site.ru/$1 [R=301,L]


Проблема следующая, если заходить на сайт через www.site.ru, то не перебрасывает на https, если зайти без www, то перебрасывает на https

Основной домен www.site.ru

должен быть доступен по обоим протоколам http и https
robots.txt
  • Вопрос задан
  • 1161 просмотр
Пригласить эксперта
Ответы на вопрос 3
Потому что данный пример выглядел раньше так.
############################################################################
#### Выбор основного зеркала (с www или без www)                        ####
############################################################################
    # 1. Удалить www
#RewriteCond %{ENV:HTTPS} on
    #Если включен https
#RewriteRule .* - [E=SSL:s]
    #То создаем переменную  ssl с текстом s
#RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    # Проверяем, содержит ли домен www в начале URL.
#RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
    # Перенаправляем удаляем www
    # 2. Добавить www
#RewriteCond %{ENV:HTTPS} on
    #Если включен https
#RewriteRule .* - [E=SSL:s]
    #То создаем переменную  ssl с текстом s
#RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
    # Если нет www в начале домена
#RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
    #Подставляем www и https если он включен.


Все что вам нужно сделать то удалить отсутствия www
RewriteCond %{HTTPS} off
RewriteRule .* - [E=SSL:s]
RewriteCond %{REQUEST_URI} !^(.*)/robots\.txt$ 
RewriteRule ^(.*)$ http%{ENV:SSL}://www.site.ru/$1 [R=301,L]
Ответ написан
yous
@yous Автор вопроса
вроде разобрался... сделал так

RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]
 
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^(.*)/robots\.txt$ 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Ответ написан
Комментировать
Metiza
@Metiza
Digital-маркетолог в Netpeak Software
Можно попробовать еще так:

RewriteCond %{HTTP_HOST} ^www\.site\.(.*)$ [NC]
RewriteRule ^(.*)$ https://site.%1/$1 [R=301,L]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы