NGINX:如何将所有旧帖子从/ blog url重定向到/ blogs / url?

时间:2014-05-02 14:52:55

标签: wordpress redirect nginx

情况如下:

我之前移动了我的网站,我将http://www.getridofthings.com/blog更改为http://www.getridofthings.com/blogs/,以便将更多作者包含在自己的博客中。现在的问题是,Google网站管理员工具告诉我,我有一堆404。我们删除了旧的博客帖子,因为它们的质量很差,但我想从各种博客帖子中收集所有传入的链接,并将它们简单地引导到/ blogs / url。

如何在NGINX中编写此规则?我尝试了很多方法,并且不断收到“太多重定向”或“重定向循环”错误。

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题。

server {
  listen: 127.0.0.1;
  server_name: example.com;

  rewrite ^/blog/(.*)$ /blogs/$1 redirect;
}

它的工作原理是它希望/blog/位于网址的开头。如果在/之后有任何内容,则会将其存储在$1中,并附加到/blogs/。没有重定向循环,因为/blogs/无法匹配这些条件。

重定向将会发生:

  • / blog / to / blogs /
  • / blog / blog-article-1 / to / blogs / blog-article-1 /