2010-03-23 3 views
3

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

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

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

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

http://example.com/application.php 

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

https://example.com/application.php 

Благодарности
Авинаш

ответ

8

Вот несколько строк я использовал в .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 является/администратор/*
    • Потому что я только хотел интерфейс администратора находится в https
    • , что означает, что это второе условие не должно быть полезным, в вашем случае
  • и https выключен (т. просьба была сделана как http)

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


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

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

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


Edit после комментария: хорошо, что о чем-то вроде этого:

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

В основном:

  • с использованием собственного доменного имени
  • удаление части о admin
+0

так что будет треска e для моей проблемы? – Avinash

3

Try это правило:

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

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

1

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

# vim httpd.conf 

Append следующая строка:

Redirect permanent/https://example.com/ 
2

использовать это:

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] 

website

Смежные вопросы