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 規則)。

相關內容