我的 Web 服务器上运行着两个版本的非常小的 ruby-on-rails 应用程序。一个在外部提供服务(生产),另一个仅在内部网 URL 上提供服务(暂存)。因此,我设置了两个虚拟主机,它们运行良好。
我的目标是在临时服务器的域下提供代码库生成的文档,但只需设置不同的 vhost 和 docroot 并将所有静态 HTML 文件转储到那里。我不清楚如何在 httpd.conf 中设置它。
因此,目标是:
staging.foo.com/ -> rails app vhost (指向 /var/www/rails/foo/)
和
staging.foo.com/doc/ -> 文档虚拟主机 (指向 /var/www/doc/foo/)
抱歉,问题问得比较笨拙;我很确定这可以通过 mod_rewrite 来完成,但是在阅读了文档几次之后,我仍然不知道如何完成这一壮举。
答案1
您可以指定重写规则,如本例所示:
<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 绑定到新位置。不要忘记 $1(匹配部分)。
不要忘记在 apache 中加载 mod_rewrite。