我的網站是一個具有多個子庫的mercurial存儲庫。我需要確保我拒絕訪問服務器上每個.hg目錄中的所有文件。安全:拒絕通過mod_rewrite訪問.hg/*
例如,我有http://example.com/.hg/
和http://example.com/subrepo1/.hg/
我已經添加了以下爲.htaccess:
<Files ~ "^\.(hg|ht)">
Order allow,deny
Deny from all
</Files>
這是一個良好的開端,因爲它拒絕訪問的文件與.hg
和.ht
開始但它不會拒絕對.hg
目錄中的文件的訪問,所以如果有人輸入,例如http://example.com/.hg/branch
,則分支文件將顯示在瀏覽器中。
我需要做些什麼才能確保這些文件不會顯示給用戶?如果有人試圖訪問我的服務器上任何.hg
目錄中的文件,我希望發送403或404回瀏覽器。
這個問題也適用於任何網站是Subversion/svn存儲庫的人。
當我嘗試使用Directory,DirectoryMatch,Location或LocationMatch時,出現500錯誤,所以我認爲它不允許在.htaccess中。然而,RedirectMatch的工作方式就像一個魅力。謝謝! – Tex 2010-03-02 08:27:21
@Tex - 我會編輯它 - 看起來,從SVN問題的OP有麻煩讓'DirectoryMatch'也工作。 – 2010-03-02 08:31:41
我的理解是,在.htaccess中不允許使用「Directory」,「DirectoryMatch」,「Location」和「LocationMatch」。 – Tex 2010-03-02 08:36:08