現有的是apache負載均衡到了6個不同的tomcat上面,今天遇到了需要將某一些指定的URL轉發向指定的3個tomcat上的要求,肯定就是需要修改rewrite rule規則了,網上查了半天,都沒有好的解決辦法,後來偶然遇到RewriteMap,發現可以自定義函數,就使用了,如下:
RewriteMap servers rnd:/wd/apache2/conf/serversmap.txt
RewriteRule ^/(.+)(relax/phoneLottery)(.+) http://192.168.28.27:${servers:port}/$1$2$3 [P]
其中${servers:port}表示從RewriteMap servers 中獲取key為port的值(rnd為random,表示隨機獲取),而這個值存在/wd/apache2/conf/serversmap.txt文件中
打開文件/wd/apache2/conf/serversmap.txt
more /wd/apache2/conf/serversmap.txt
port 8086|8085|8084
如此就能解決了。