2014-02-20 145 views
-1

對於需要重定向的特定文件,具體取決於它是HTTP還是HTTPS和HTTP方法GET。有像幾個問題。區分Apache中的HTTP和HTTPS請求

我使用SetEnvIf之後結識如果傳入的請求是HTTP或HTTPS

SetEnvIfNoCase代理的SSL。 是的。 IS_HTTPS

如何在RewriteCond中使用這個變量IS_HTTPS?並提供以下重寫/重定向指令將其重定向到HTTPS。

在此先感謝

回答

0

要檢查請求是否來自HTTPHTTPS可以使用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 solution:

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

我想使用環境變量。那可能嗎 ?當我在RewriteRule ^(*)/ Mypage.xml上使用RewriteCond%{HTTPS}時 - 即使請求用於HTTPS,[F]也顯示禁止。你可以讓我知道更多的特殊情況嗎?此外,請您在答案中解釋RewriteRule。 – LinuxLearner

+0

當然你可以,我會編輯我的答案! – undone