繁体   English   中英

使用mod_rewrite在每个svn中使用svn

[英]svn per apache with mod_rewrite

我的Subversion存储库具有以下virtuslhost,并且我想创建一个始终指向最新稳定标签的链接。 我尝试使用mod_rewrite。 它被apache接受,没有任何错误,但无法正常工作。 我也尝试重写。*似乎不起作用(是的,我重新启动了Apache)

<VirtualHost svn.warsow-race.net>
    ServerAdmin             zolex@warsow-race.net
    ServerName              svn.warsow-race.net

    ErrorLog                /srv/svn/error.log
    CustomLog               /srv/svn/access.log combined

    RewriteEngine On
    RewriteRule ^/racesow0.5/latest-stable(.*) /racesow0.5/tags/0.5.4-stable$1

    <Location />
            DAV svn
            SVNParentPath /srv/svn
    </Location>

    <Location /racesow0.5>
            AuthType Basic
            AuthName "Racesow 0.5"
            AuthUserFile /srv/svn/racesow.passwd
            <LimitExcept GET OPTIONS PROPFIND REPORT>
                    Require valid-user
            </LimitExcept>
    </Location>
</VirtualHost>

重写日志说

(2) init rewrite engine with requested uri /racesow0.5/latest-stable/sdk
(3) applying pattern '^/racesow0.5/latest-stable(.*)' to uri '/racesow0.5/latest-stable/sdk'
(2) rewrite '/racesow0.5/latest-stable/sdk' -> '/racesow0.5/tags/0.5.4-stable/sdk'
(2) local path result: /racesow0.5/tags/0.5.4-stable/sdk
(2) prefixed with document_root to /htdocs/racesow0.5/tags/0.5.4-stable/sdk
(1) go-ahead with /htdocs/racesow0.5/tags/0.5.4-stable/sdk [OK]

但是打电话时我找不到404

mod_rewrite文档 (请参阅“按目录重写”)指示您应该避免将指令放在<Location>节中,而应将其声明为“不受支持”。 我必须检查源代码以查看实际影响,但是最好避免这种情况。

我建议尝试将规则移到<VirtualHost> ,然后再PT (直通)重写,以防其他模块需要正确访问重写路径:

<VirtualHost svn.warsow-race.net>
    ...
    ReweiteEngine On
    RewriteRule ^/racesow0.5/latest-stable(.*) /racesow0.5/tags/0.5.4-stable$1 [PT]
    ...
</VirtualHost>

这将不起作用,因为Subversion会在该位置的顶部进行请求,然后对访问日志进行一些“魔术”式的查看以查看实际请求的内容:

/racesow0.5/!svn/vcc/[...]
/racesow0.5/!svn/bc/888/[...]

我不确切知道它是如何工作的,但是简单地“重写”请求是行不通的。

我建议创建一个文件夹“ /racesow0.5/latest-stable”,并将svn:external放入此文件夹,以指向您的最新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM