1

根据一个条件,我希望 Apache 更改 REQUEST_URI,然后将新的 REQUEST_URI 代理到不同的网络服务器

这应该是相当浪费的,但是,互联网上的所有例子都没有给我任何结果。

因此,例如我的 URL:http : //my.domain.com/otherserver/dir2/page1.html?param1=true%param2=10 基于 REQUEST_URI 的开头我想将 REQUEST_URI 修改为 /dir2/page1.html ?param1=true%param2=10 并将其传递给另一个网络服务器

例如

RewriteCond %{REQUEST_URI} ^/otherserver
RewriteRule ^(.*) ^/otherserver / [N]
RewriteRule ^(.*)$ http://localhost:8080%{REQUEST_URI} [P]

然而,这并没有给出预期的结果。

有什么建议么?

4

1 回答 1

1

我建议您尝试以不同的方式执行此操作,例如使用mod_proxy而不是P标志来mod_rewrite(请参阅标志mod_rewrite文档,Pmod_proxy其中显示“尽可能避免使用此标志并更喜欢 [指令]”,以及何时不使用重写)。

如果我理解正确,您想要的行为是“对于表单的所有请求,^/otherserver(.*)将请求代理到http://localhost:8080$1。” 何时不使用重写页面建议可以这样做

ProxyPass /otherserver http://localhost:8080/

...但在接受我的话之前,请在mod_proxy文档中确认这一点。

于 2013-01-04T15:28:23.413 回答