Como criar reescritas depois de migrar do wordpress para outro blog

2

Migrei meu blog do wordpress para o Octopress e de um domínio para outro.

Eu quero criar reescreve de páginas antigas para novas (estrutura antiga é link ). Eu criei um bloco de servidores para este propósito que contém:

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

Se eu descomentar a última string, estou recebendo https://domain.new/p=14 para a solicitação http://domain.old/p=14 . Se estiver comentado, receberei uma mensagem de boas-vindas do nginx, mas nenhum redirecionamento.

Estou sem ideias. Qualquer ajuda apreciada.

Minha configuração atual do nginx .

    
por Dmitry Verkhoturov 12.08.2012 / 00:32

1 resposta

4

Uma diretiva rewrite não pode ser aplicada a um $query_string e só pode alterar $uri . Para conseguir o que você está tentando fazer, você pode fazer o seguinte ...

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;

}

Por favor note que IfIsEvil .

    
por 12.08.2012 / 04:30