2011-06-27 77 views
0

對不起,我有點可憐的頭正面表達,我試過但失敗了。強制ssl除了在家庭/索引頁面上使用htaccess

你能告訴我如何讓索引/主頁不會在ssl中嗎?現在我有,迫使整個網站的SSL這個重寫規則:

# force ssl 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我需要的是家庭/索引頁是不是在SSL。

+0

出於興趣,你爲什麼要整個站點加密*除了主頁? –

+0

好吧..其實我只是想登錄頁面在SSL。不需要用戶登錄的頁面不必位於ssl中。所以這是一個開始。 – David

回答

1

嘗試:

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    # force ssl 
    RewriteCond %{REQUEST_URI} !^$ # no ssl on/
    RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /index\.php\ HTTP/ # no ssl on index.php 
    RewriteCond %{HTTPS} off 
    RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

</IfModule> 
+0

嘿...這不起作用。嘗試過任何https仍然顯示。 – David

+0

@David:該代碼執行以下操作:如果請求的頁面不是根目錄的'/'和'index.php',並且'HTTPS'沒有打開,它將重定向到https。否則,它將保持原樣。如果您的請求是「https:// www.example.com/index.php」,則此代碼不會將其重定向到「http:// www.example.com/index.php」。如果你想獲得第二名,請讓我知道。否則,告訴我你是如何測試它的,以及哪些URL不起作用? – Shef

0

權條件是:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

確保,重寫引擎被加載。

+0

但是主頁/索引頁面呢? – David

0

你想要另一個RewriteCond

RewriteCond %{REQUEST_URI} !^$ 
相關問題