使所有.git目录的拒绝更加用户友好

时间:2013-06-01 07:11:47

标签: git security .htaccess

RE:Make .git directory web inaccessible

我目前有以下内容:

<Directorymatch "^/.*/\.git/">
    Order deny,allow
    Deny from all
</Directorymatch>

有没有办法修改上面的.htaccess代码,使其只是转到主域?而不是500错误页面?提前谢谢。

更新

我还有以下mod_rewrite让我更接近:

RewriteEngine On
RewriteRule "^(.*/)?\.git/" http://%{HTTP_HOST}/? [L]

但是,它仅在其“domain.com/.git”而不是任何子.git文件夹时触发。 E.g。

domain.com/folder/.git
domain.com/folder/sub-folder/.git

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

好吧,这似乎适用于我的要求。

解决方案1 ​​。如果您想重定向到域根目录(w / mod_rewrite):

RewriteEngine On
RewriteRule ^(.*/)?\.git+ http://%{HTTP_HOST}/? [L]

解决方案2 。如果您想发出404(w / mod_rewrite):

RewriteEngine On
RewriteRule ^(.*/)?\.git+ - [R=404,L]

后备解决方案。如果mod_rewrite不可用:

RedirectMatch 404 ^(.*/)?\.git+

我选择了解决方案2和后备。我希望有所帮助。