如何配置apache来提供http://svn.example.com/robots.txt?

时间:2014-01-08 02:26:05

标签: apache svn robots.txt mod-dav-svn

我通过

访问SVN存储库
  • 的http:// 的svn.example.com/repo1
  • 的http:// 的svn.example.com/repo2
  • ...

使用以下Apache配置

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<VirtualHost xxx.xxx.xxx.xxx>
    ServerName svn.example.com

    <Location />
        DAV svn
        SVNParentPath /path/to/svn/repositories
        AuthzSVNAccessFile /path/to/svn/conf/auth_policy
        Satisfy Any

        AuthType Basic
        AuthName "Subversion repository"
        AuthUserFile /path/to/svn/conf/passwdfile
        Require valid-user
    </Location>
</VirtualHost>

我想阻止网页抓取工具为公共存储库建立索引,但我无法弄清楚如何正确设置配置以便从robots.txt提供http://svn.example.com/robots.txt

我从2006年发现了一个帖子"stopping webcrawlers using robots.txt",但它没有帮我解决问题(Ryan的重定向建议不起作用)。

编辑:我希望将存储库保留在顶层而不是将它们移动到http:// svn.example.com/something/ reponame 。< / p>

1 个答案:

答案 0 :(得分:0)

不要将Subversion存储库的虚拟目录放在服务器的根目录中:

错误

<Location />
    DAV svn
    SVNParentPath /path/to/svn/repositories

<Location /svn>
    DAV svn
    SVNParentPath /path/to/svn/repositories

而不是您的存储库根目录为http://svn.example.com,它将是http://svn.exmaple.com/svn。这样可以将http://svn.example.com释放为真正的文档根目录,这意味着您可以添加一些有关您网站的文档,并将robots.txt文件放在http://svn.example.com/robots.txt下。

现在,一个表现良好的机器人将看到robot.txt文件而不是索引你的Subversion存储库。

相关问题