如何在从wordpress移植到另一个博客后创build重写

我已经将我的博客从wordpress迁移到Octopress ,并从一个域名迁移到另一个域名。

我想创build从旧网页到新网页的重写(旧的结构是http://domain.old/?p = number )。 我为此创build了服务器块,其中包含:

server { listen 80; listen [::]:80; server_name .domain.old; rewrite .*p=1$ https://domain.new/2011/rebirth/ permanent; rewrite .*p=11$ https://domain.new/2011/travelling-salesman-problem/ permanent; rewrite .*p=14$ https://domain.new/2011/minecraft-classic-client-with-fly-ability/ permanent; # rewrite ^ https://domain.new permanent; } 

如果我取消注释最后一个string,我得到https://domain.new/p=14 http://domain.old/p=14请求。 如果它被注释掉,我得到一些nginx的欢迎消息,但没有redirect。

我没有想法。 任何帮助赞赏。

我目前的nginxconfiguration 。

rewrite指令不能应用于$query_string ,只能改变$uri 。 要实现你想要做的事,你可以做以下的事情…

 server { listen 80; listen [::]:80; server_name .domain.old; if ( $arg_p = 1 ) { return 301 https://domain.new/2011/rebirth/; } if ( $arg_p = 11 ) { return 301 https://domain.new/2011/travelling-salesman-problem/; } if ( $arg_p = 14 ) { return 301 https://domain.new/2011/minecraft-classic-client-with-fly-ability/; } # other manual redirects # ... # global redirect return 301 https://domain.new; } 

注意IfIsEvil 。