【发布时间】:2010-11-02 08:37:41
【问题描述】:
是否可以配置 Apache Web 服务器以将目录映射到另一个 Web 服务器上的路径?例如,我可以请求http://server1/resource/ 返回http://server2/resource/。如果可以,我该如何设置?
【问题讨论】:
是否可以配置 Apache Web 服务器以将目录映射到另一个 Web 服务器上的路径?例如,我可以请求http://server1/resource/ 返回http://server2/resource/。如果可以,我该如何设置?
【问题讨论】:
mod_proxy 是要走的路
用途:
<Location /resource/>
ProxyPass http://server2/resource/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
【讨论】:
mod_rewrite 对此非常强大。您将为 /resource/ 设置重写规则并使用 302 重定向将人员发送到服务器 2。
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
未经测试的示例:
<location "/">
RewriteEngine On
RewriteRule ^/resource/(.*)$ http://server2/resource/$1 [R]
</location>
【讨论】:
我认为这个问题是针对 serverfault.com 的。此处不详述,但您可以在 apache 配置中使用 RewriteCond、RewriteRule 指令进行设置。
我同时使用了mod_proxy and mod_rewrite 规则来达到类似的效果。
PS:查看 serverfault.com 并尝试一下系统管理员。
【讨论】: