WoCommerce签出终结点的Nginx重定向
我想问一下,在地址末尾添加一个斜杠到变量目录时,nginx的重写规则是什么。具体来说,我想解决一个404错误,当我将WooCommerce与nginx-phpfpm一起使用时会出现这个错误。 要添加的斜杠位于签出端点处,看起来是这样的 改写 其中,/checkout/后面的“xxx”是订单号,是一个变量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
提前谢谢。我想你会想要这样的东西:
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/