Apache mod_rewrite 和 mod_proxy 冲突

Apache mod_rewrite 和 mod_proxy 冲突

我正在使用 Apache、mod_proxy 和 mod_rewrite

我希望实现以下目标:

https://www.example.com.*?secure=true 返回 403

https://www.example.com.* 代理至https://www.example.org

我的配置如下:

RewriteEngine on
RewriteCond ${QUERY_STRING} secure=true
RewriteRule .* - [F]

ProxyPass / https://www.example.org/

然而,对于这两个 URL,它们都被代理到https://www.example.org第一个 URL 未被禁止。使用 mod_rewrite 日志记录,我可以看到它确实与 URL 匹配,并且它表示会将响应更改为 403,但事实并非如此。

是否存在优先级问题,即 ProxyPass 是否覆盖 mod_rewrite?

(我理解 secure=true 本身是一个问题,但我无法控制应用程序,因此需要遵守 Apache 规则)。

相关内容