WoCommerce签出终结点的Nginx重定向

WoCommerce签出终结点的Nginx重定向,nginx,configuration,woocommerce,rewrite,endpoint,Nginx,Configuration,Woocommerce,Rewrite,Endpoint,我想问一下,在地址末尾添加一个斜杠到变量目录时,nginx的重写规则是什么。具体来说,我想解决一个404错误,当我将WooCommerce与nginx-phpfpm一起使用时会出现这个错误。 要添加的斜杠位于签出端点处,看起来是这样的 改写 其中,/checkout/后面的“xxx”是订单号,是一个变量 提前谢谢。我想你会想要这样的东西: server { # put this before your locations rewrite ^(/checkout/[a-z0-9

我想问一下,在地址末尾添加一个斜杠到变量目录时,nginx的重写规则是什么。具体来说,我想解决一个404错误,当我将WooCommerce与nginx-phpfpm一起使用时会出现这个错误。 要添加的斜杠位于签出端点处,看起来是这样的

改写

其中,/checkout/后面的“xxx”是订单号,是一个变量


提前谢谢。

我想你会想要这样的东西:

server {
    # put this before your locations
    rewrite ^(/checkout/[a-z0-9]+)$ $1/ permanent;
}
我假设订单id只包含数字和小写字符。您可能希望通过更改正则表达式来更改此设置
0-9
匹配数字,
A-Z
大写字符和
A-Z
小写字符

您还可以将重写放在位置块中,使其更加具体

location ~ ^/checkout/[a-z0-9]+$ {
    rewrite ^(/checkout/[a-z0-9]+)$ $1/ permanent;
}

此外,不使用永久重定向请求(301重定向)的
permanent
标志,您可以使用停止处理当前集合的
last
标志,并再次传递重写的请求以找到适当的位置。

它们不相同。正如您所看到的,/checkout/xxx后面有一个额外的斜杠,因此它变成了/checkout/xxx/