我需要为某些与WAS插件处理的内容重叠的URL配置反向代理。这些特定请求应转发给其他系统。
现在至少有两种选择:
RewriteRule ... [P,L]
-它利用了mod_rewrite优先于WAS插件的事实SetEnvIf Request_URI ... skipwas=1
+ProxyPass ...
-它明确地"告诉"WAS插件忽略某些URL,但它至少需要2个指令(因此配置更复杂(
AFAIK通常建议避免使用mod_rewrite,除非真的需要,因为在许多情况下这是一种过度使用,可能会提供稍差的性能。
考虑到这一点,对于上述情况,建议采用什么方法?
我更喜欢#2,因为它更明确。同事很容易在重写规则中漏掉一个"P"。它还遭受了mod_rewrites的异常默认,即不将配置合并到虚拟主机。
最后,如果你使用#1,你还需要定义一个mod_proxy";工人;通过编写ProxyPass或使用<Proxy>
块,否则将无法重新使用连接。