2017-01-30 88 views
2

我现在有两个博客站点。使用nginx将301从子域重定向到域特定网址

A - blog.domain.com - domain.com/blog/ - - WordPress的(这是不同的服务器上)创建和nginx的代理上domain.com服务

上的tumblr

乙创建

我想将我的所有帖子从A重定向到B,所以我会将我的子域移动到B服务器,并为旧帖子url设置重定向。

我怎样才能把它做好在nginx的?

我有新的博客有点不同的URL,所以我不能对所有做动态(我只有30-35对旧博客的网址,以便它可以通过手动行完成一行重定向)。

我认为下面的设置会确定

server { 
    server_name blog.domain.com; 
    location/{ 
    return 301 http://domain.com/blog/; 
    } 
    location /posts/123456/my-first-post { 
    return 301 http://domain.com/blog/my-first-post-on-new-blog/; 
    } 
} 

这是做一个好办法吗?

非常感谢在这种情况下的帮助。

回答

0

你可以把URI列表成图:

map $uri $newuri { 
    default      /blog/; 
    /posts/123456/my-first-post /blog/my-first-post-on-new-blog/; 
    /posts/another/post   /blog/somewhere-on-new-blog/; 
} 
server { 
    server_name blog.domain.com; 
    return 301 http://domain.com$newuri; 
} 

详见this document