我一直在閱讀什麼似乎是一個很好的教程rest based authentication。Htaccess - Http驗證 - 爲什麼這個塊給我造成500錯誤?
我想使用此作爲訪問網站cms(持有可訪問的web根目錄)的補充。
如同在什麼時候使用cms索引,我希望使用這種基本的認證形式。一旦用戶導航到任何部分,我的默認php身份驗證系統就會啓動,因此某些用戶只能訪問cms中的某些功能。
我不明白什麼,雖然,這就是爲什麼下面的代碼塊,當放在我的.htaccess文件,使整個網站產生500錯誤...
<Files .login>
AuthType Digest
AuthNAme "Authentication Required"
AuthDigestFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
</Files>
我已經試過一個類似的試驗使用基本訪問功能,但決定這種方法會更安全一些,作爲補充。而我使用apache的htpasswd.exe程序來創建一個.htpasswd文件,我可以使用它來驗證基本訪問。這工作正常,但我無法弄清楚如何通過.htaccess文件將這種類型的身份驗證應用於cms索引。
我已經開始創建一個文件,使用apache的htdigest.exe程序創建一個名爲.htdigest的文件。
其內容如下:
testUser:Authentication Required:cd7h62051449100elk3c463eae6251f5
現在,這一切成立,我已按照提到條每頁的指示,努力實現,即一旦用戶點擊了一個實例一個帶有href屬性「.login」的鏈接,它們直接指向我的cms(auth required)。這是交代由作者:
所以沒有.login文件,它只是將觸發 身份驗證,因爲訪問該網址要求用戶是 認證的URL。
現在,出於某種原因,當我嘗試加載在我的網站的任何頁面,此塊在.htaccess,我得到一個500錯誤,當我實際上應該得到驗證框?
但這是我很困惑,因爲我相信這塊將只能與「在.login的」 href的鏈接用戶點擊的情況下的效果...
我還沒有添加當認證有效時,進一步的塊將用戶引導到索引頁面,只有這個塊和作者提到的兩個附加塊。
有人能夠解釋是什麼導致了這種反應?
服務器error_log說什麼? – jcmeloni 2012-01-29 16:19:59
這是一個Windows或Linux服務器?你提到「htpasswd.exe」這聽起來像Windows,但AuthDigestFile路徑看起來像一個Linux路徑。另外,如果它是一個Linux服務器,文件是否在正確的位置? – 2012-01-29 16:22:17
命令'AuthDigestFile'無效,可能是拼寫錯誤或由未包含在服務器配置中的模塊定義,引用者:http://www.myDomain.com /' – 2012-01-29 16:24:24