我现在有两个博客网站。
A - blog.domain.com - 在Tumblr上创建
B - domain.com/blog/ - 在Wordpress上创建(位于不同服务器上)并由domain.com上的nginx代理提供
我想将我的所有帖子从A重定向到B,因此我会将子域名移动到B服务器并为旧帖子网址设置重定向。
我怎样才能在nginx中做得好?
我在新博客上有一些不同的网址,所以我不能动态地为所有人做这个(我在旧博客上只有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 :(得分: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。