代码之家  ›  专栏  ›  技术社区  ›  Andreas Linden

svn per apache with mod\u rewrite(带mod\u重写)

  •  0
  • Andreas Linden  · 技术社区  · 14 年前

    我还试图重写。*这似乎不起作用(是的,我重新启动了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找不到

    2 回复  |  直到 14 年前
        1
  •  1
  •   Peter Parker    14 年前

    这将不起作用,因为Subversion将在位置的顶部执行请求,然后涉及一些“魔法”查看您的访问日志以查看实际请求的内容:

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

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

    svn:外部

        2
  •  1
  •   Tim Stone    14 年前

    The mod_rewrite documentation (请参阅“每目录重写”)表示应避免将指令放在 <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>