2014-10-28 72 views
1

我的目標是在我網站的admin目錄中強制使用HTTPS。但是,使用通常的方式會產生不尋常的結果。這裏是.htaccess內容:目錄的HTTPS重定向無法正常工作

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} admin 
RewriteRule ^(.*)$ https://www.domain.com/admin/$1 [R,L] 

然而,當我嘗試打開http://www.domain.com/admin/home.php,而不是重定向到https://www.domain.com/admin/home.php它把我送到https://www.domain.com/admin/admin/home.php

因此它創建URL的admin/部分兩次。

我試圖改變的.htaccessRewriteRule ^(.*)$ https://www.domain.com/$1 [R,L]最後一行(不道理給我,但試了一下還是),並將其重定向到同一個錯誤的網址,弄得我進一步。

我不知道它是否應該重要,但我也嘗試用[L,R=301]替代[R,L],正如SO上其他地方所建議的那樣,沒有任何結果。

爲什麼會發生這種情況,有什麼解決辦法?

回答

0

這是由於您的目標網址中有/admin/。將您的規則更改爲:

RewriteEngine On 

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^admin(/.*)?$ https://www.domain.com%{REQUEST_URI} [R,L,NC]