перенаправить http на https для некоторой страницы сайта в APACHE - PullRequest
3 голосов
/ 23 марта 2010

Я хочу, чтобы на одной из страниц моего сайта использовался только HTTPS.

Я дал ссылку на все сайты вручную на https.

Но я хочу, чтобы, если пользователь вводит вручнуюURL страницы с http, тогда он должен быть перенаправлен на https страницу.

Так что если пользователь наберет:

http://example.com/application.php

, то он должен быть перенаправлен на

https://example.com/application.php

Спасибо
Авинаш

Ответы [ 4 ]

8 голосов
/ 23 марта 2010

Вот несколько строк, которые я использовал в файле .htaccess для своего блога, некоторое время назад:

RewriteCond %{HTTP_HOST}  =www.example.com                        
RewriteCond %{REQUEST_URI} ^/admin*                                     
RewriteCond %{HTTPS} !=on                                               
RewriteRule ^admin/(.*)$  https://www.example.com/admin/$1 [QSA,R=301,L]


По сути, идея заключается в следующем:

  • определить, является ли хост www.example.com
  • и URL-адрес / admin / *
    • Потому что я только хотел, чтобы интерфейс администратора был в https
    • что означает, что это второе условие не должно быть полезным, в вашем случае
  • и https выключен (т.е. запрос был сделан как http)

И, если это так, перенаправить на запрошенную страницу, используя https вместо http.


Я полагаю, вы могли бы использовать это в качестве отправной точки, для вашего конкретного случая: -)

Вы, вероятно, просто должны:

  • изменить первую и последнюю строку
  • удалить второй


Отредактируйте после комментария: ну как насчет этого:

RewriteCond %{HTTP_HOST}  =mydomain.com
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$  https://mydomain.com/$1 [QSA,R=301,L]

В основном:

  • используя ваше собственное доменное имя
  • удаление деталей около admin
3 голосов
/ 23 марта 2010

Попробуйте это правило:

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^application\.php$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Это правило предназначено для использования в файле .htaccess в корневом каталоге документов вашего сервера. Если вы хотите использовать его в файле конфигурации сервера, добавьте косую черту в шаблон RewriteRule.

2 голосов
/ 02 июня 2016

используйте это:

RewriteEngine On
# Turn SSL on for /user/login
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/user/login
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

# Turn SSL off everything but /user/login
RewriteBase /
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/user/login
RewriteRule ^(.*)$ http://%{HTTP_HOST}$1 [R=301,L]

сайт

1 голос
/ 04 апреля 2012

открыть файл httpd.conf или .htaccess (mod_rewrite не требуется):

# vim httpd.conf

Добавить следующую строку:

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