Nginx等价于Apache查询字符串规则



我们最近为我们的一个WordPress网站转移到了nginx服务器。我们在Cloudflare中遇到了一个问题,其中ajax请求的内容类型被修改,这导致了Stripe集成的问题,并且它没有呈现。

我们用以下代码修复了它

RewriteCond %{REQUEST_URI} ?wc-ajax=update_order_review$
Header set Content-Type text/html

在Nginx 中尝试了以下代码

location ~ /?wc-ajax=update_order_review$ {
add_header Content-Type text/html;
}

不幸的是,它没有起作用,也没有找到任何在Nginx中重写相同内容的解决方案。你能帮忙解决这个问题吗?

提前感谢

您可以使用$args访问查询字符串(不带?(,使用$arg_name访问查询参数name

这是官方的Nginx文档

所以你可以试试:

location / {
if ($arg_wc-ajax ~ "^update_order_review$") {
add_header Content-Type text/html;
}
}

最新更新