将特定的URLredirect到apache中的其他虚拟主机

我有两个版本的在我的Web服务器上运行的非常小的ruby-on-rails应用程序。 一个是外部服务(生产),一个只服务于内部网URL(分段)。 所以我有两个虚拟主机设置,他们工作得很好。

我的目标是为临时服务器的域下的代码库提供生成的文档,但只需设置不同的虚拟主机和文档根,并将所有静态HTML文件转储到那里。 我不清楚如何在httpd.conf中设置。

所以,目标是有:

staging.foo.com/ – > rails应用程序虚拟主机(指向/ var / www / rails / foo /)

staging.foo.com/doc/ – >文档vhost(指向/ var / www / doc / foo /)

对这个问题的笨拙抱歉, 我很确定这可以用mod_rewrite来完成,但是在阅读完文档之后,我仍然失去了如何完成这个壮举。

您可以指定重写规则,如下例所示:

<VirtualHost 172.20.30.40> DocumentRoot /www/subdomain/sub2 ServerName www.sub2.domain.tld ServerPath /sub2/ RewriteEngine On RewriteRule ^(/sub2/.*) /www/subdomain$1 </VirtualHost> 

像你想要的那样使用ServerPath (在你的例子中是doc ),然后使用RewriteRule将ServerPath绑定到新的位置。 不要忘记$ 1(匹配部分)。

不要忘记在Apache中加载mod_rewrite。