Ao mover um site WP, por que o wp-admin redireciona para o site antigo?

16

Estou no processo de mover um site WP de um host para outro. Copiei o banco de dados e todos os arquivos, criei um novo banco de dados e importei o antigo. Eu então mudei o arquivo wp-config. A página inicial mostra bem, mas quando tento acessar / wp-admin, ela me leva de volta ao site antigo.

O novo site é um servidor de desenvolvimento em que planejo fazer alterações de estilo antes de colocar o site em operação.

O que estou perdendo nessa transição? Como faço para que o site responda corretamente ao URL do desenvolvedor?

fmz
fonte

Respostas:

22

Se essa é uma instalação única do WordPress, existem algumas entradas no banco de dados com seu domínio antigo. Especificamente siteurle homedentro wp_options.

Dito isto, se o URL do desenvolvedor for temporário, você também poderá definir as duas constantes a seguir wp-config.php:

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

Desde que o WordPress esteja instalado na raiz do seu site.

NightHawk
fonte
Você também precisa atualizar o guidpara cada wp_postsem caso de quaisquer attachements, usando algo comoUPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode
2
O GUID não deve ser alterado. Leia mais aqui: codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
NightHawk
4

Não é um grande problema. Seu banco de dados contém todos os links anteriores que não podem ser convertidos automaticamente. Existem dois tipos de soluções para isso:

  1. Em wp-config.phpadicionar este código:

    define ('WP_HOME', 'http: //'. $ _SERVER ['SERVER_NAME']);
    define ('WP_SITEURL', WP_HOME. '/');
  2. Altere o seguinte SQL substituindo "oldurl" pelo link anterior e "newurl" pelo link atual:

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

Execute essas consultas SQL em seu banco de dados, alterando o prefixo se você tiver algo diferente wp_.

Aakash Bhagat
fonte
2

Apenas alterar o URL do site na configuração provavelmente não atualizará todos os internos para criar um site de desenvolvimento para você (a menos que o site seja muito simples). Você terá problemas com a exibição de dados serializados e links nas postagens que apontam para o site antigo.

Seria mais inteligente usar uma ferramenta de migração como o Backup Buddy ou o Duplicator para criar uma cópia completa do site que pode ser reimplantada em um novo local com um novo URL. Ao fazer isso, você ainda terá links de trabalho nas postagens, qualquer link de menu personalizado, etc. O uso de um deles facilitará também o lançamento das alterações. Empacote tudo e reimplante no seu site de produção quando terminar.

Se você não quiser gastar o tempo fazendo o download / upload de tudo novamente, basta migrar o banco de dados usando algo como WP Migrate DB. Instale-o no seu site de produção, exporte um banco de dados com a nova URL e importe o banco de dados migrado para o seu desenvolvedor via phpMyAdmin ou similar. Todos os links codificados no seu tema ainda precisarão ser atualizados e o seu .htaccess precisará ser atualizado se você estiver instalando em uma subpasta.

Altere a linha RewriteBase para:

RewriteBase /yourfolder/

E a linha que redireciona para o seu index.php para:

RewriteRule . /yourfolder/index.php [L]
Sean Michaud
fonte
0

É necessário alterar o endereço do site (URL) e o endereço do WordPress (URI) através do painel de administração antes de mover o site para outro URL.

No seu caso, você não pode fazer isso em um site ativo; portanto, tente uma ferramenta como Pesquisar e substituir bancos de dados para alterar a URL do banco de dados do site de desenvolvimento.

Você também pode fazer referência ao Moving WordPress

Laxmana
fonte
0
  1. phpMyAdmin: vá para o wp_optionsconjunto de tabelas homeurle siteurlcomo seu novo URL
  2. Faça login no seu wp-adminpainel, vá para setting->general alterar o Endereço do WordPress (URL) e o Endereço do Site (URL)
user8724101
fonte