如果脚本名称仅包含数字,则nginx重定向到新URL

时间:2016-08-19 07:30:31

标签: wordpress nginx nginx-location

如果脚本名称仅包含数字,我该如何重定向?

http://example.com/125689 - > http://example.com/news/125689

我使用了这段代码,但是我收到了404错误。

location ~ /([0-9]+) {
    return 301 http://example.com/news/$1;
}

1 个答案:

答案 0 :(得分:0)

您已创建重定向循环,因为您的正则表达式未锚定到行的开头,因此它也与重写的URI匹配。

您可以通过添加^$来限制正则表达式的范围。

location ~ ^(/\d+)$ {
    return 301 $scheme://$host/news$1;
}

有关正则表达式的有用资源,请参阅this