我有两个测试网站http://foo/abc
,http://foo/def
。
我正在尝试理解RewriteCond
/ RewriteRule
进程以使用vhost来模拟alias / directory指令。
可以使用别名/指令块来提供“abc”,“def”站点。我试图弄清楚apache是否可以使用vhost块执行相同的操作,并结合RewriteCond
/ RewriteRule
逻辑。
基本上,尝试使用RewriteCond
/ RewriteRule
的组合来查看是否/如何使用vhost来为特定网站提供服务以限制显示的网站。
看起来像是
RewriteCond %{REQUEST_URI} ^/abc/
RewriteRule ^(.*)$ /var/www/html/abc [B,L,QSA]
会起作用,但浏览器会出错。
欢迎指针。
答案 0 :(得分:0)
浏览器很可能会产生错误,因为目录/var
(以及其中的所有内容)不是通过apache发布的。
答案 1 :(得分:0)
我希望我理解你的问题,你试图用ModRewrite模拟虚拟主机。
是的,当您的第一个RewriteCond检查域时,这是可能的:
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$ [NC]
但请注意,这只适用于HTTP / 1.1,就像基于主机名而不是IP的虚拟主机一样。