修改apache以防止.git文件夹的公共可访问性

修改apache以防止.git文件夹的公共可访问性,apache,git,workflow,Apache,Git,Workflow,我了解到“.git”文件夹位于网站的根级别,可能可以公开访问。要保护该文件夹并防止不需要的存储库克隆,请将以下内容添加到顶级.htaccess文件以禁止web访问: 首先,谢谢乔·马勒 在我的虚拟主机文件中,我有RewriteEngine On命令,其规格如下: <VirtualHost *:80> ... RewriteEngine On RewriteCond %{SERVER_PORT} !443 RewriteR

我了解到“.git”文件夹位于网站的根级别,可能可以公开访问。要保护该文件夹并防止不需要的存储库克隆,请将以下内容添加到顶级.htaccess文件以禁止web访问:

首先,谢谢乔·马勒

在我的虚拟主机文件中,我有
RewriteEngine On
命令,其规格如下:

<VirtualHost *:80>
        ...
        RewriteEngine On
        RewriteCond %{SERVER_PORT} !443
        RewriteRule (.*) https://www.mydomain.com/ [R]
</VirtualHost>

...
重新启动发动机
重写cond%{SERVER\u PORT}!443
重写规则(.*)https://www.mydomain.com/ [R]
我是否可以在ssl的重写规则之后添加git重写规则,如下所示:

<VirtualHost *:80>
        ...
        RewriteEngine On
        RewriteCond %{SERVER_PORT} !443
        RewriteRule (.*) https://www.mydomain.com/ [R]
        RewriteRule \.git - [F,L]
</VirtualHost>

...
重新启动发动机
重写cond%{SERVER\u PORT}!443
重写规则(.*)https://www.mydomain.com/ [R]
重写规则\.git-[F,L]

谢谢

这应该行得通。不过,很容易测试以确定。只需浏览到
http://www.mydomain.com/.git
并查看它是否有效

<VirtualHost *:80>
        ...
        RewriteEngine On
        RewriteCond %{SERVER_PORT} !443
        RewriteRule (.*) https://www.mydomain.com/ [R]
        RewriteRule \.git - [F,L]
</VirtualHost>