我的 Apache 配置有问题,特别是它如何与 SVN DAV mod 交互。
我想要做的是domain.com
指向我的网站,svn.domain.com
指向我的 svn 目录(当前位于我的 public_html 目录之外),并且两者都可以通过 https 访问。
我已经让它大部分工作了,但是如果我为svn
子域设置了一个明确的 VirtualHost,它会阻止 svn 应用程序访问存储库(而不是只得到一个“存储库永久移动”错误),我可以浏览回购确定。
我的配置看起来像:
<VirtualHost *:443>
ServerName domain.com
ServerAlias www.domain.com svn.domain.com
DocumentRoot /path/to/website/dir
...
#stuff for SSL cert etc.
</VirtualHost>
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /path/to/website/dir
...
</VirtualHost>
<Location /repo>
DAV svn
SVNPath /path/to/repos
... #auth details
</Location>
这主要工作,但浏览svn.domain.com
打开我的网站,浏览domain.com/repo
打开存储库(svn.domain.com/repo
工作正常,domain.com
也工作正常),可能我想domain.com/repo
显示一组关于我的项目、文档等的网页,svn.domain.com
理想情况下指向任何内容,或可用的存储库列表或单独的页面或其他内容。我以为我已经掌握了 apache 配置文件的窍门,但是这个让我很困惑!
您应该为您的和域设置一个单独的
<VirtualHost>
指令。看起来您正试图将两者都挤到第一个. 将它们分开后,将 SVN 指令放入主机中。svn.domain.com
domain.com / www.domain.com
<VirtualHost>
svn.domain.com