我想将Apache HTTPd用作代理服务器:
如果用户请求http://xxx?st=yyy
,则所选后端服务器应为server1
。如果用户请求http://xxx
(无参数),则后端服务器应为server2
。
我想知道如何配置Apache来实现这一目标。
答案 0 :(得分:3)
查看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以限制特定主机等等。