Como faço para corrigir meus URLs base para acessar meu site Magento?

36
  • Alterei os URLs base e agora meu site está inacessível
  • Mudei tudo para um novo servidor, não alterei o base_url e meu site está inacessível

Como altero ou restauro base_url minhas configurações de BaseURL?

Fiasco Labs
fonte

Respostas:

63

Sintoma: Alterei os URLs base e agora meu site está inacessível ou mudei tudo para um novo servidor, não alterei o base_urle meu site está inacessível.

Como alterar ou restaurar as configurações base_url com o phpMyAdmin

As instruções são para um site simples de "uma loja", em que a "visualização de loja padrão" está definida para herdar sua configuração da "configuração padrão". Haverá uma instância adicional das linhas da tabela mencionadas abaixo para cada Use Websitecaixa de seleção desmarcada .

  1. Abra sua core_config_datatabela no phpMyAdmin.

  2. Classifique a tabela por pathcoluna e encontre as seguintes linhas para sua seção não segura ; elas devem ter a seguinte aparência:

Colunas

PATH                         VALUE
web/unsecure/base_url        http://www.example.com/
web/unsecure/base_link_url   {{unsecure_base_url}}
web/unsecure/base_skin_url   {{unsecure_base_url}}skin/
web/unsecure/base_media_url  {{unsecure_base_url}}media/
web/unsecure/base_js_url     {{unsecure_base_url}}js/
  1. Substitua http://www.example.com/pelo URL do domínio apropriado (barra final necessária) e se você instalou em uma subpasta, anexe-o com um /após.

  2. Encontre as linhas a seguir para sua seção segura ; elas devem ter a seguinte aparência:

Colunas

PATH                        VALUE
web/secure/base_url         https://www.example.com/
web/secure/base_link_url    {{secure_base_url}}
web/secure/base_skin_url    {{secure_base_url}}skin/
web/secure/base_media_url   {{secure_base_url}}media/
web/secure/base_js_url      {{secure_base_url}}js/
  1. Substitua https://www.example.com/pelo URL do domínio apropriado (barra final necessária) e se você instalou em uma subpasta, anexe-o com um /após. Se você ainda não recebeu seu certificado de segurança e ativou o TLS / SSL, use em httpvez dehttps

  2. Limpar conteúdo de var/cache, var/sessiondiretórios depois de mudar base_urls.

A limpeza do cache e das sessões é necessária porque sua configuração é armazenada em cache e a limpeza força uma releitura dos dados de configuração da core_config_datatabela e o restabelecimento das sessões com as informações apropriadas.

NOTA: Se você definiu base_urlcorretamente web/unsecure/base_urle web/secure/base_urlnão precisa mexer nas alterações de macros {{UNSECURE_BASE_URL}}e {{SECURE_BASE_URL}}no restante das entradas.

Como alterar as configurações de base_url com o mysql na linha de comando

  1. Entre no seu banco de dados MySQL, substitua $ USER pelo nome de usuário do banco de dados e $ DBASE pelo nome do banco de dados. Ele solicitará sua senha:

mysql -u $USER -p $DBASE

  1. Abaixo estão os comandos SQL para alterar seus valores base_url. Substitua inseguro http://www.example.com/e seguro https://www.example.com/(se você tiver SSL / TLS ativado, caso contrário, https deve ser http) pelo URL do domínio apropriado (barra final necessária) e se você tiver instalado em uma subpasta, anexe-o com um /depois.

Comandos SQL

UPDATE core_config_data SET value = 'http://www.example.com/' WHERE path LIKE 'web/unsecure/base_url';
UPDATE core_config_data SET value = 'https://www.example.com/' WHERE path LIKE 'web/secure/base_url';
  1. Verifique suas configurações de base_url com o seguinte:

Comandos SQL

SELECT path,value FROM core_config_data WHERE path LIKE 'web/unsecure/base%';
SELECT path,value FROM core_config_data WHERE path LIKE 'web/secure/base%';
  1. Limpar conteúdo de var/cache, var/sessiondiretórios depois de mudar base_urls. A limpeza do cache e das sessões é necessária porque sua configuração é armazenada em cache e a limpeza força uma releitura dos dados de configuração da core_config_datatabela e o restabelecimento das sessões com as informações apropriadas.
Fiasco Labs
fonte
11
Nota: Em casos extremos em que suas permissões no var/diretório estão desarrumadas, o Magento armazenará o cache do Magento no /tmpdiretório do sistema , conforme documentado aqui e a limpeza do cache não limpa as entradas de configuração em cache extraídas core_config_dataaté a reinicialização do servidor ou alguém com direitos suficientes pode excluir o cache extraviado do Magento.
Fiasco Labs
Para encontrar esse diretório de cache incorreto, se você puder instalar n98-magerun, use o comando n98-magerun.phar sys:infopara obter uma lista básica de informações do sistema com um item sendo o Cache Directorylocal.
Fiasco Labs
isso funciona para mim perfeitamente.
Amol Bhandari SJ
13

No Magento2, também há uma maneira de fazer isso diretamente via Magento usando os comandos abaixo, em vez de ter que passar pelo SQL, o que acho um pouco mais rápido.

No diretório raiz do Magento, execute os comandos abaixo:

  1. Definir URL não seguro

    bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
  2. Definir URL seguro

    bin/magento setup:store-config:set --base-url-secure="https://www.magento2.com/"
  3. Limpar cache

    bin/magento cache:flush
harri
fonte
11
Você também pode precisar editar base_link_url depois disso.
user3442612
para qualquer pessoa que tenha redirecionado todo o tráfego através de https, a configuração do URL base como https resolverá esse problema (por exemplo, ao instalar o certificado SSL com Certbot)
Antonio Araujo