我的网站是一个具有多个子库的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