如何为Apache中的虚拟主机编写重写规则?

孟索

我有一个运行良好的Subversion服务器。但是,我购买了一个工具,该工具要求项目具有“ branches”子目录,并且区分大小写。整个存储库已经具有带有“ Branches”文件夹的项目,因此我试图以重写方式写入httpd.conf文件。我没有对LoadModule进行注释,并打开了RewriteEngine,Apache启动了,但没有得到我想要的结果。

RewriteRule ^/Root/(.+)/branches(.*)  /Root/$1/Branches$2

如果我使用RedirectMatch,它可以在浏览器中使用,但仍然不能在工具中使用。

RedirectMatch ^/Root/(.+)/branches(.*)  /Root/$1/Branches$2 

我知道重写通常用于重写文件或物理位置,但是在尝试解决我的问题时我已经看到了一些类似的示例。我对其他方法持开放态度,我已经研究过<If>,但这超出了我的范围。

孟索

终于想通了

    RewriteRule ^/Root/(.+)/branches(.*)  http://svn/Root/$1/Branches$2 [P]

由于它是虚拟的,因此我需要包含绝对的Web URL。如果没有[P]标志(代理),它将返回302重定向,带有该标志的服务器仅处理请求,而客户端仅从单个请求中返回正确的页面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章