@AlexMatovnikov

Как сделать переадресацию только 1 страницы на HTTPS, остальные на HTTP?

Добрый вечер!
Имеются следующие параметр в .htaccess

DirectoryIndex index.php
ErrorDocument 404 /404.html
RewriteEngine On

RewriteRule ^basket$ /basket/ [R=301,L]
RewriteRule ^login$ /login/ [R=301,L]
RewriteRule ^reg$ /reg/ [R=301,L]
# Редиректы
RewriteRule ^basket/(.*)$ index.php?do=static&page=basket [L]
RewriteRule ^login/(.*)$ index.php?do=static&page=login [L]
RewriteRule ^reg/(.*)$ index.php?do=static&page=reg [L]

Как сделать так, чтобы страницы /basket/, /login/ и /reg/ были доступны только по HTTPS протоколу и шла переадресация, если их вызывают по HTTP. А все остальные страницы только по HTTP, даже когда к ним обращаются по HTTPS.

Пример: как у М.Видео сделан личный кабинет, оформление заказа. Когда переходишь в личный кабинет по http протоколу, тебя перебрасывает на https. А когда от туда пользователь переходит на любую другую страницу по протоколу https, его обратно перекидывает на http

Спасибо!
  • Вопрос задан
  • 411 просмотров
Пригласить эксперта
Ответы на вопрос 1
amark
@amark
rush less, feel more
Например, можно добавить RewriteCond.

#Перенаправлять на HTTPS
RewriteCond %{SERVER_PORT} !^443
RewriteRule ^basket/(.*)$ https://www.domain.com/index.php?do=static&page=basket [L]

#Перенаправлять на HTTP
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ www.domain.com/$1 [L,QSA] #здесь укажите нужный урл перехода

Upd.1. Обратите внимание, что порядок правил важен. Т.к. второе правило охватывает все страницы, его нужно установить ниже.
В текущем примере, если первое условие сработает, то отработает первый редирект и дальше выполнение прекратится (благодаря индексу L).
Если условие не пройдет (человек не идет в корзину), то будет применяться второе "общее" условие.

Upd.2. Кстати, не совсем понятно, зачем это нужно? Если есть сертификат на сайт, то намного правильнее распространить его на все страницы, а не только на страницы с персональной информацией.
Вот к слову: Google повышает сайты с HTTPS в выдаче https://hab..., https://security.googleblog.com/2016/09/moving-tow...
Ответ написан
Ваш ответ на вопрос

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

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