как в htaccess я могу перенаправить пользователя на https с http и обратно - PullRequest
1 голос
/ 01 ноября 2010

Я пытаюсь заставить страницу входа перенаправить на https, а все остальные страницы вернуться к стандартному http. Когда в качестве адреса используется / login, он отображается как /index.php?page=login и не отображается на защищенной странице.

Код htaccess ниже:

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

RewriteCond %{REQUEST_URI} !^/login$
RewriteCond %{SERVER_PORT} 443 
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]

RewriteRule ^([a-zA-Z0-9_\-\(\)]+)[/]?$ /index.php?page=$1

1 Ответ

4 голосов
/ 01 ноября 2010

Вероятно, лучше сделать это на уровне приложения, то есть отправить ссылку «вход в систему» ​​как ссылку HTTPS напрямую.

Проблема с перенаправлениями с HTTP на HTTPS заключается в том, что клиент сначала делаетзапрос по обычному HTTP.В случае, когда он только идет на начальную страницу HTTPS, это не обязательно проблема, но если вы отправите учетные данные в HTTP-запросе, который прозрачно перенаправлен на страницу HTTPS, они все равно будут утечки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...