从 WordPress 迁移到另一个博客后如何创建重写

从 WordPress 迁移到另一个博客后如何创建重写

我已经将我的博客从 wordpress 迁移到奥托普莱斯并从一个域到另一个域。

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

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;
}

如果我取消注释最后一个字符串,我将获得https://domain.new/p=14请求http://domain.old/p=14。如果注释掉它,我将收到一些 nginx 欢迎消息,但没有重定向。

我没有主意了。如能提供任何帮助,我将不胜感激。

我当前的 nginx 配置

答案1

Arewrite指令不能应用于$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;

}

注意假如邪恶

相关内容