2013-02-08 82 views
0

我們有一個PHP的網站:阿帕奇LocationMatch授權所有子路徑PHP

site.com

我們想從根的所有子路徑需要基本身份驗證。例如

site.com - 無需

site.com/subpath認證需要認證

我們有這個指令:

<LocationMatch "^/.+$"> 

    AuthName "members Only" 
    AuthType Basic 
    AuthBasicProvider file 
    AuthUserFile /Applications/MAMP/conf/apache/extra/auth-pass-file 
    Require valid-user 
</LocationMatch> 

但是它要求輸入密碼,當我們去http://site.com/http://site.com

有人可以提出一個解決方案,以便授權只被要求子路徑?

回答

0

我們添加了特定目錄來檢查(存在的)目錄,並在人們試圖爲不存在的頁面釣魚時創建錯誤重定向。

0

<LocationMatch "^/.*/.+$">應該工作。您的LocationMatch實際上是選擇根目錄中的所有內容,您需要向下一級。

0

因爲AuthZ的規則不僅適用於實際請求/,還要什麼擴大到 - 如/index.html

你需要允許單獨,可惜...