2014-02-20 4 views
-1

Для конкретного файла мне нужно перенаправить в зависимости от того, является ли это HTTP или HTTPS и методом HTTP GET. Есть несколько проблем вроде.дифференцируя запрос HTTP и HTTPS в Apache

Я использую SetEnvIf, чтобы знать, если входящий запрос HTTP или HTTPS

SetEnvIfNoCase проксируемого-SSL. есть. IS_HTTPS

Как использовать эту переменную IS_HTTPS в RewriteCond? и предоставить следующую директиву rewrite/redirect, чтобы перенаправить ее на HTTPS.

Заранее спасибо

ответ

0

Чтобы проверить запрос, является ли из HTTP или HTTPS вы можете использовать RewriteCond и %{HTTPS}

RewriteCond %{HTTPS} on 
RewriteRule ^particular.php$ /https.php [L,R=302] 
RewriteCond %{HTTPS} off 
RewriteRule ^particular.php$ /http.php [L,R=302] 

обновлением: Так как вы просили с помощью среды сортов, здесь youre:

RewriteCond %{IS_HTTPS} yes 
RewriteRule ^particular.php$ https://%{HTTP_HOST}/https.php [L,R=302] 
RewriteCond %{IS_HTTPS} no 
RewriteRule ^particular.php$ http://%{HTTP_HOST}/http.php [L,R=302] 
+0

Вместо этого я хотел бы использовать переменные окружения. Это возможно ? – LinuxLearner

+0

Вместо этого я хотел бы использовать переменные окружения. Это возможно ? Когда я использую RewriteCond% {HTTPS} в RewriteRule^(*)/Mypage.xml - [F], это запрещено, даже если запрос для HTTPS. Не могли бы вы сообщить мне об этом больше? Также, пожалуйста, объясните RewriteRule в своем ответе. – LinuxLearner

+0

Конечно, вы можете, я отредактирую свой ответ! – undone

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