使用 MultiViews 重写/配置 WebSVN 位置

使用 MultiViews 重写/配置 WebSVN 位置

我已经mod_dav_svn在 FreeBSD 上配置了 1.8.9 以及 WebSVN 2.3.3,方法如下:

<Location /repos/svn>
    DAV svn
    SVNParentPath /usr/local/svn/repos
    SVNListParentPath On
    SVNPathAuthz Off
</Location>

Alias /repos/websvn "/usr/local/www/websvn"
<Directory "/usr/local/www/websvn">
    Order Allow,Deny
    Allow from all
    Options FollowSymLinks MultiViews
    DirectoryIndex wsvn.php
</Directory>

虽然这很有效,但我不明白 的全部含义MultiViews。据我理解,存储库和 WebSVN 浏览器都应该可以通过一个 URL 访问,不是吗?

如果没有,WebSVN 将为我生成以下 URL:http://www.example.com/repos/websvn/wsvn/<repo>

我该如何摆脱那个wsvn子路径?这config.php没有多大帮助。

答案1

该指令可能是多余的,因为 websvn 有自己的文件来放置东西。在我的机器(Ubuntu 12.04)上,它是这个文件

/etc/websvn/apache.conf

内容可能需要一些编辑。它看起来像这样:

# Configuration for websvn using php4.

Alias /websvn /usr/share/websvn

<Directory /usr/share/websvn>
  ## No MultiViews
  #DirectoryIndex index.php
  #Options FollowSymLinks
  ## MultiViews
  DirectoryIndex wsvn.php
  Options FollowSymLinks MultiViews
  ## End MultiViews
  Order allow,deny
  Allow from all
  <IfModule mod_php4.c>
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
  </IfModule>
</Directory>

默认情况下禁用 MultiViews,因此我取消注释了 MultiViews 的行并更改了别名和目录目标。问题已解决。

相关内容