使用mod_rewrite代理网址

时间:2012-08-24 06:04:56

标签: .htaccess mod-rewrite apache

我有一个域名,例如

http://example.com 

和另一个域名

http://reallylargerdomain name.com

我想如果sombody access http://example.com/projects那么服务器应该代理来自其他网址的数据。 为此,我创建了以下.htaccess文件

Rewrite on
RewriteRule ^projects/$ http://reallylargedomainname.com [P]

这不起作用,但当我将其更改为跟随它工作

Rewrite on
RewriteRule ^projects/$ http://reallylargedomainname.com [R=301,L]

知道出了什么问题?

1 个答案:

答案 0 :(得分:3)

您需要确保在apache配置中加载了mod_proxy。没有它,P标志会发送代理请求,但没有任何东西可以处理目标。它看起来像这样:

LoadModule  proxy_module modules/mod_proxy.so

如果目录不同,目录显然会被调整到你的路径。

此外,请注意,如果规则中没有L标志,则在重写引擎完成之前,代理请求不会被发送回处理管道。因此,如果您在代理规则之后有其他规则,则会在代理发生之前应用它们。