
Importou o dump de produção no servidor de homologação, abriu o endereço novo e o navegador voa para o domínio antigo antes mesmo da página pintar. O Magento guarda a base_url dentro do banco, então o backup traz o domínio de produção junto e o redirect acontece já no primeiro request.
-- antes de qualquer coisa: mysqldump -u user -p loja > /backup/loja-antes.sql
SELECT config_id, scope, scope_id, path, value
FROM core_config_data
WHERE path LIKE 'web/%base_url'
OR path LIKE 'web/cookie/%';
UPDATE core_config_data
SET value = 'https://homolog.minhaloja.com.br/'
WHERE path IN ('web/unsecure/base_url', 'web/secure/base_url');
DELETE FROM core_config_data
WHERE path = 'web/cookie/cookie_domain';Tire o dump antes de rodar o UPDATE: core_config_data não tem desfazer e é fácil sobrescrever a linha do escopo errado. O SELECT vem primeiro de propósito, porque é comum existir uma linha de web/secure/base_url no escopo websites além da de default, e mexer só na primeira deixa a loja apontando para o domínio velho de um jeito difícil de rastrear. A barra no fim do valor não é enfeite, o Magento concatena o caminho direto ali. Se o SELECT trouxer base_link_url com URL literal em vez de {{unsecure_base_url}}, troque essa linha também. E o cookie domain com o host antigo é o motivo clássico de logar no admin e cair de volta na tela de login: o navegador descarta o cookie.
cd /var/www/loja
rm -rf var/cache/* var/page_cache/* var/view_preprocessed/*
sudo -u www-data php bin/magento cache:flush
sudo -u www-data php bin/magento config:show web/unsecure/base_urlO config:show é o teste de verdade: ele lê a configuração pela mesma via que o front-end usa. Se voltar o domínio antigo mesmo com o banco corrigido, abra app/etc/env.php e procure a seção system. Um valor gravado ali com config:set --lock-env ganha do banco sempre, e nenhum UPDATE vai derrubar ele.
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…
O meta está no banco mas some do /wp-json/wp/v2/posts. Veja o register_post_meta certo, com single, type, schema de array e…
Escreva 31 de agosto de 2026 em PHP 8.3 sem aquele array com os doze meses, usando IntlDateFormatter com pattern…
Listagem de CPT com meta_query que demora segundos: veja o EXPLAIN da query do WP_Query e o índice composto em…
Post com Perdeu o agendamento e backup que não roda há dias: inspecione a fila do WP-Cron, apague a trava…