nginx 重定向到新的 url 如果脚本名称只包含数字
nginx redirect to new url if script name is only contain numbers
如果脚本名称只包含数字,我该如何重定向?
http://example.com/125689 -> http://example.com/news/125689
我使用了这段代码,但出现了 404 错误。
location ~ /([0-9]+) {
return 301 http://example.com/news/;
}
你创建了一个重定向循环,因为你的正则表达式没有锚定到行的开头,所以它也匹配重写的 URI。
您可以通过添加 ^
和 $
来限制正则表达式的范围。
location ~ ^(/\d+)$ {
return 301 $scheme://$host/news;
}
有关正则表达式的有用资源,请参阅 this。
如果脚本名称只包含数字,我该如何重定向?
http://example.com/125689 -> http://example.com/news/125689
我使用了这段代码,但出现了 404 错误。
location ~ /([0-9]+) {
return 301 http://example.com/news/;
}
你创建了一个重定向循环,因为你的正则表达式没有锚定到行的开头,所以它也匹配重写的 URI。
您可以通过添加 ^
和 $
来限制正则表达式的范围。
location ~ ^(/\d+)$ {
return 301 $scheme://$host/news;
}
有关正则表达式的有用资源,请参阅 this。