2015-11-18 61 views
0

我試圖使僅使用非SSL URI的客戶端頁面可用。即http://domain.com/customerpage其中customerpage是僅知道底層webapp的一些動態URI。Apache2 mod_rewrite根據URI匹配將SSL重定向到非SSL,反之亦然

管理員的控制面板保存在/admin/controllername/action中,其中controllernameaction是各種不同的控制器。所有管理請求都在URI的/admin部分下路由。

我想確保如果用戶訪問https://domain.com/customerpage他們被重定向到http://domain.com/customerpage

不過,我也希望確保,如果管理員試圖/adminhttp://domain.com/admin/login或任何他們將被重定向到安全https://domain.com/admin/login頁面。

回答

0

嘗試:

RewriteEngine On 

RewriteCond %{HTTPS} ^on$ 
RewriteCond %{REQUEST_URI} !^/admin 
RewriteRule ^(.*)$ http://example.com/$1 [NC,L,R] 
RewriteCond %{HTTPS} ^off$ 
RewriteCond %{REQUEST_URI} ^/admin 
RewriteRule ^(.*)$ https://example.com/$1 [NC,L,R] 
+0

的問題是客戶的頁面不是一個單一的頁面。我用客戶頁面來代表所有其他非admin的鏈接 – codemagician

+0

我編輯了我的答案,重新加載頁面以查看它,並讓我知道它是如何工作的 – starkeen