2011-02-07 137 views
1

我有一個常見問題,想要將某個受限訪問目錄的請求從http重定向到https,以便用戶的登錄憑據以安全辦法。通過.htaccess將http重定向到https目錄,僅使用mod_alias

但是,我沒有在我的服務器上啓用mod_rewrite。我只有mod_alias。這意味着我必須使用RedirectMatch命令。我無法使用通常使用RewriteCond和RewriteRule的解決方案。

(A在政治注:我在一個非常大的組織小混混子網站的維護者,所以服務器管理員不太可能願意改變服務器配置爲我!)

下面一行工作,而是形成一個無限循環(因爲重寫URL仍然由最初的正則表達式捕獲):

RedirectMatch permanent ^/intranet(.*)$ https://example.com/intranet$1 

我的一個內部IT人員已經建議我避免無限循環通過將文件移動到一個新的目錄用一個新的名字(例如/ intranet2 /)。這對我來說似乎很難看。並且人們仍然可以通過直接訪問http://example.com/intranet2/意外/故意恢復到不安全的連接。

然後我嘗試這一點,但沒有奏效:

RedirectMatch permanent ^http:(.*)/intranet(.*)$ https://example.com/intranet$1 

我懷疑它沒有工作,因爲第一個參數必須是從根目錄中的文件路徑,所以它不能啓動與「http:」。

因此:任何更好的想法如何做到這一點?

回答

0

mod_alias指令可以處理請求URI(URL中域名之後的內容),它們不是路徑或URL。你無法與該計劃相匹配。

相關問題