我在 部署了一个站点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;