8 http-proxy redirect apache-2.2
这似乎是一个非常基本的问题,但我很难找到一个简单的解决方案,因此感谢您对我的帮助和耐心:
我想配置我的 Apache 代理服务器以重定向某些 URL,例如,对 www.olddomain.com 的 Web 浏览器 HTTP 请求被传递到代理服务器,然后代理服务器将请求路由到 www.newdomain.com,后者发送响应到代理服务器,然后将其传递回 Web 浏览器。
看起来很简单,但我不知道如何在 Apache 上实现这一点。我知道 Squid/Squirm 提供了这个功能,所以我猜我错过了一些非常基本的东西。我知道我可以使用 RewriteRule 来动态修改 URL 并将其传递给代理服务器,但我实际上想要做相反的事情,即代理服务器接收原始 URL,应用 RewriteRule,然后将 HTTP 请求转发到新的网址。
希望这是有道理的。在此先感谢您的帮助。
根据您对我之前的回答的评论,我认为您正在使用 Apache 作为转发代理 ( ProxyRequests On
)。您可以使用mod_rewrite
代理通过特定 URL 的传递。
你可能在你的 Apache 配置中有这样的东西:
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Allow from xx.xx.xx.xx
</Proxy>
Run Code Online (Sandbox Code Playgroud)
然后您必须添加以下内容,以便代理传递来自www.olddomain.com/foo
to 的所有请求www.newdomain.com/bar
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule /foo(.*)$ http://www.newdomain.com/bar/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)
它的作用是:
www.olddomain.com
,RewriteRule
将触发。/foo
到http://www.newdomain.com/bar/
。mod_proxy
(P
)。L
)。结果示例:
www.olddomain.com/foo/test.html
.www.newdomain.com/bar/test.html
.www.olddomain.com/foo/test.html
。 归档时间: |
|
查看次数: |
66786 次 |
最近记录: |