【发布时间】:2011-12-27 14:19:22
【问题描述】:
我想使用 Apache HTTPd 作为代理服务器:
如果用户请求http://xxx?st=yyy,则选择的后端服务器应该是server1。如果用户请求http://xxx(无st 参数),则后端服务器应为server2。
我想知道我需要如何配置 Apache 来实现这一点。
【问题讨论】:
我想使用 Apache HTTPd 作为代理服务器:
如果用户请求http://xxx?st=yyy,则选择的后端服务器应该是server1。如果用户请求http://xxx(无st 参数),则后端服务器应为server2。
我想知道我需要如何配置 Apache 来实现这一点。
【问题讨论】:
查看http://httpd.apache.org/docs/current/mod/mod_rewrite.html 和示例;具体而言,以下事实对您有所帮助:
然后让你做类似的事情
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/foo/(.*)$ http://server2/$1 [P,L]
RewriteRule ^/foo/(.*)$ http://server1/$1 [P,L]
等等。如果它是整个服务器 - 删除 /foo/ 和 $1 之前的 / - 如果它是特定于服务器的 - 在它前面放置一个额外的 RewriteCond 以限制特定主机等等。
【讨论】: