将 apache 重定向到 http 请求到 https,除非请求是 POST?

将 apache 重定向到 http 请求到 https,除非请求是 POST?

我已经设置了 apache2 配置以将 http 请求重定向到 https。这工作正常,但是我想更改它,以便只有当请求不是 POST 请求时才执行此操作。

以下是我的当前配置:

重写引擎开启

RewriteCond %{HTTPS} !=on

重写规则 ^/?(.*) https:// %{SERVER_NAME}/$1 [R,L]

我如何更改此配置以便仅当请求不是 POST 时才重定向?

答案1

添加新RewriteCond行:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule ^/?(.*) https:// %{SERVER_NAME}/$1 [R,L]

相关内容