我对网站的一些重写规则遇到了一些小问题。
我的永久链接现在类似于 domain.com/ID/permalink-ID.html
永久链接的旧结构是 domain.com/permalink-ID.html
该 ID 是一个整数。
我如何为 nginx 创建重写规则以便
domain.com/permalink-ID.html 重定向到 domain.com/ID/permalink-ID.html
我可以手动完成...但大约有 25k 条这样的帖子。
谢谢
答案1
测试一下这个:
rewrite ^/?permalink-(\d+).html http://domain.com/$1/permalink-$1.html permanent;
答案2
由于数量和永久链接是动态的,这里提出的解决方案
location ~* ^/(((?!/).)+)-(\d+)\.html$ {
return 301 $scheme://$host/$3/$1-$3.html;
}
对于重定向,您可以使用 return 而不是 rewrite。有关正则表达式方案的解释,请参阅本网站。