外部页面的Mod重写规则?

时间:2009-11-09 09:02:05

标签: mod-rewrite cross-domain

是否可以使用mod_rewrite来解析托管在另一台服务器上的地址?

我想设置此网址:

http://www.myserver.com/myfolder/

要实际解决:

http://www.anotherserver.com/anotherfolder/

如果是这样,你能提供一个RewriteRule示例吗?

3 个答案:

答案 0 :(得分:19)

您可以使用P flag规则中的mod_rewrite来获取mod_proxy所请求的替换网址:

RewriteEngine on
RewriteRule ^myfolder/$ http://other.example.com/anotherfolder/ [P]

现在,当客户端从您的服务器请求/myfolder/时,它将请求http://other.example.com/anotherfolder/并将该服务器的响应发送回客户端。

答案 1 :(得分:3)

不,隧道是不可能的,你必须使用CGI脚本。但是,您可以重定向

RewriteRule  ^(.*)  http://new.example.com/$1

有或没有[R]标志,它会自动将用户重定向到新域。

修改:显然可以使用mod_proxy[P]标记来隧道传输请求。见Gumbo的回答。

答案 2 :(得分:-2)

嘿我尝试重写并且没有工作(只在localhost中测试过)

我也觉得这很简单

Redirect /myfolder external_url