我刚刚发现我的 nginx 语法不正确:
location /news { rewrite ^(.*)$ /blog redirect;}
我想将 mysite.com/news 重定向到 mysite.com/blog 但该代码将更多页面重定向到博客。
任何人都可以帮我解释错误并告诉我如何正确重定向?
谢谢
我刚刚发现我的 nginx 语法不正确:
location /news { rewrite ^(.*)$ /blog redirect;}
我想将 mysite.com/news 重定向到 mysite.com/blog 但该代码将更多页面重定向到博客。
任何人都可以帮我解释错误并告诉我如何正确重定向?
谢谢
最佳做法是仍然使用location
. 如果您不希望下面/news
的任何内容重定向到/blog
(例如,不需要通配符),那么以下就是您想要的,并且可能是创建单个别名的最有效方法:
location = /news {
return 301 /blog;
}
否则,如果您这样做,实际上需要一个通配符:
location /news {
rewrite ^/news(.*) /blog$1 permanent;
}
你不需要把它放在位置块内。只需一个重写规则就足够了。
rewrite ^/news/?$ /blog redirect;