我的 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 配置文件,但这个却难倒了我!
答案1
您应该<VirtualHost>
为您的svn.domain.com
和domain.com / www.domain.com
域设置单独的指令。看起来您正试图将两者都挤进第一个<VirtualHost>
。将它们分开后,将 SVN 指令放入主机内svn.domain.com
。