0

RE:使 .git 目录 web 无法访问

我目前有以下内容:

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

除了 500 错误页面,有没有办法修改上面的 .htaccess 代码以使其只进入主域?提前致谢。

更新

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

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

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

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

在此先感谢您的帮助。

4

1 回答 1

3

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

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

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

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

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

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

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

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

于 2013-06-02T05:08:13.670 回答