在 nginx 中将请求从 site.org/old 重新路由到 site.org/new

在 nginx 中将请求从 site.org/old 重新路由到 site.org/new

我在 部署了一个站点www.site.org。我在 有路由www.site.org/old/article,我想自动将人们重定向到www.site.org/new/article。理想情况下,这可以用作通配符来捕获任何内容,而不仅仅是文章。

我不擅长 Nginx,所以任何关于最佳实践的建议都会很有用。我见过一些人使用位置块return 301和直接重写来实现这一点。

答案1

假设你想要一个 HTTP 301 永久重定向,而不是像新 URL 那样提供旧 URL,请使用

rewrite ^/old(/.*) /new$1 permanent;

如果我错了,而您想要以相同的方式同时提供两种服务/old/article而不/new/article使用重定向,请使用不带permanent标志的相同重写规则(应放在上下文中server,而不是一个location!):

rewrite ^/old(/.*) /new$1;

相关内容