WP 永久链接的 NGINX 位置重写

NGINX location rewrite for WP permalink

因此,我的 WP 具有几乎经典的永久链接结构,例如:/%category%/%year%/%month%/%day%/%postname%/

我想使用 301 错误代码重定向到新样式,例如 /%year%/%month%/%day%/%postname%/ 或简单的 /%postname%/.

我制定了这条规则,但他们return 相同URL。

location ~ "^\/([a-zA-Z0-9_.-]+)\/([0-9]{4})\/([0-9]{2})\/([0-9]{2})\/([a-zA-Z0-9_.-]+)\/$" {
     rewrite ^(.*)  permanent;
 }  

或者,对于 /%postname%/,我试过这样的代码:

location ~ "^\/([a-zA-Z0-9_.-]+)\/([0-9]{4})\/([0-9]{2})\/([0-9]{2})\/([a-zA-Z0-9_.-]+)\/$" {
     rewrite ^(.*)  permanent;
 }

但是这段代码 return 空响应。

请帮我解决问题。如果我错了,我无法理解。谢谢!

所以,这很简单:

location ~ "^/([a-zA-Z0-9_.-]+)/([0-9]{4})/([0-9]{2})/([0-9]{2})/([a-zA-Z0-9_.-]+)/$" {
     rewrite ^(.*)/(.*)/(.*)/(.*)/(.*)/ // permanent;
 }  

此规则在 WP 中将 /category/year/month/day/postname/ 重写为 /postname/ URL,错误代码为 301搜索引擎。