我想重写对 的请求,http://www.mysite.com/foo
而http://foo.mysite.com
无需更改用户的地址栏。使用免疫学与免疫学研究所我可以进行重写,但前提是使用 [R] 修饰符标志,该标志会使重写重定向。有没有办法让我透明地重写对子域的请求?
这是我一直在测试的重写规则:
RewriteRule ^/foo/(.*)?$ http://foo.mysite.com/index.html?$1 [R,L]
答案1
可能使用 [P] 而不是 [R] 来代理连接。
这意味着 apache 代表用户获取文档。
答案2
查看文档重写和重定向有什么区别?。这将解释客户端是否会看到地址栏变化的差异。
我认为你不必把R
或P
放在规则的末尾。
答案3
这文章解释了代理、重定向和重写之间的区别。同意 Troy 的观点,即 [P] 是必需的选项。