0

我有两个测试站点http://foo/abchttp://foo/def

我试图了解RewriteCond/RewriteRule使用 vhost 来模拟别名/目录指令的过程。

“abc”、“def”站点可以使用别名/指令块提供服务。我试图弄清楚apache是​​否可以使用vhost块并结合RewriteCond/RewriteRule逻辑来做同样的事情。

RewriteCond基本上,尝试使用 / 的组合来查看是否/如何使用 vhost 为特定站点提供服务,RewriteRule以限制正在显示的站点。

看起来像

RewriteCond %{REQUEST_URI} ^/abc/
RewriteRule ^(.*)$          /var/www/html/abc [B,L,QSA]

会工作,但浏览器会出错。

欢迎指点。

4

2 回答 2

0

浏览器很可能会产生错误,因为目录/var(以及其中的所有内容)不是通过 apache 发布的。

于 2012-09-02T13:43:24.877 回答
0

我希望我能正确理解您的问题,即您尝试使用 ModRewrite 模拟虚拟主机。

是的,当您的第一个 RewriteCond 检查域时,这是可能的:

RewriteCond %{HTTP_HOST} ^www\.domain1\.com$ [NC]

但请注意,这仅适用于 HTTP/1.1,就像基于主机名而不是 IP 的虚拟主机一样。

于 2012-09-02T13:48:00.740 回答