¿Cómo corrijo las URL base para poder acceder a mi sitio Magento?

36
  • Cambié las URL base y ahora mi sitio web es inaccesible
  • Moví todo a un nuevo servidor, no cambié la base_url y mi sitio web es inaccesible

¿Cómo cambio o restauro base_url mi configuración de BaseURL?

Laboratorios Fiasco
fuente

Respuestas:

63

Síntoma: cambié las URL base y ahora mi sitio web es inaccesible o moví todo a un nuevo servidor, no cambié el base_urly mi sitio web es inaccesible.

Cómo cambiar o restaurar la configuración de base_url con phpMyAdmin

Las instrucciones son para un sitio web simple de "una tienda" donde la "vista de tienda predeterminada" está configurada para heredar su configuración de la "configuración predeterminada". Habrá una instancia adicional de las filas de tabla mencionadas a continuación para cada Use Websitecasilla de verificación sin marcar.

  1. Abra su core_config_datamesa en phpMyAdmin.

  2. Ordene la tabla por pathcolumna y encuentre las siguientes filas para su sección insegura , deberían verse así:

Columnas

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. Reemplácelo http://www.example.com/con su URL de dominio apropiada (se necesita una barra inclinada final) y, si la ha instalado en una subcarpeta, agréguela con un /después.

  2. Encuentre las siguientes filas para su sección segura , deberían verse como sigue:

Columnas

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. Reemplácelo https://www.example.com/con su URL de dominio apropiada (se necesita una barra inclinada final) y, si la ha instalado en una subcarpeta, agréguela con un /después. Si aún no ha recibido su certificado de seguridad y ha activado TLS / SSL, use en httplugar dehttps

  2. Borrar contenido de var/cache, var/sessiondirectorios después de cambiar base_urls.

El borrado de la memoria caché y las sesiones es necesario porque su configuración está almacenada en caché y su eliminación obliga a volver a leer los datos de configuración de la core_config_datatabla y al restablecimiento de las sesiones con la información adecuada.

NOTA: Si ha configurado base_urlcorrectamente web/unsecure/base_urly web/secure/base_urlno tiene que perder el tiempo cambiando las macros {{UNSECURE_BASE_URL}}y {{SECURE_BASE_URL}}en el resto de las entradas.

Cómo cambiar la configuración de base_url con mysql desde la línea de comando

  1. Inicie sesión en su base de datos MySQL, reemplace $ USER con el nombre de usuario de su base de datos y $ DBASE con el nombre de su base de datos. Le pedirá su contraseña:

mysql -u $USER -p $DBASE

  1. A continuación se encuentran los comandos SQL para cambiar sus valores base_url. Reemplace inseguro http://www.example.com/y seguro https://www.example.com/(si tiene SSL / TLS habilitado, de lo contrario, https debería ser http) con su URL de dominio apropiado (barra diagonal necesaria) y si lo ha instalado en una subcarpeta, agréguelo con un /después.

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 la configuración de base_url con lo siguiente:

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. Borrar contenido de var/cache, var/sessiondirectorios después de cambiar base_urls. El borrado de la memoria caché y las sesiones es necesario porque su configuración está almacenada en caché y su eliminación obliga a volver a leer los datos de configuración de la core_config_datatabla y al restablecimiento de las sesiones con la información adecuada.
Laboratorios Fiasco
fuente
1
Nota: En casos extremos donde sus permisos en el var/directorio están en mal estado, Magento almacenará el caché de Magento en el /tmpdirectorio del sistema como se documenta aquí y al borrar el caché no se borran las entradas de configuración en caché extraídas core_config_datahasta el reinicio del servidor o alguien con derechos suficientes puede eliminar el caché perdido de Magento.
Fiasco Labs
Para encontrar ese directorio de caché fuera de lugar, si puede instalarlo n98-magerun, use el comando n98-magerun.phar sys:infopara obtener una lista básica de información del sistema con un elemento como Cache Directoryubicación.
Fiasco Labs
Esto me funciona perfectamente.
Amol Bhandari SJ
13

En Magento2, también hay una manera de hacer esto directamente a través de Magento usando los comandos a continuación en lugar de tener que pasar por SQL, que encuentro un poco más rápido.

Dentro del directorio raíz de Magento, ejecute los siguientes comandos:

  1. Establecer URL no segura

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

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

    bin/magento cache:flush
harri
fuente
1
Es posible que también necesite editar base_link_url después de esto.
user3442612
para cualquiera que haya redirigido todo el tráfico a través de https, configurar la URL base como https resolverá este problema (por ejemplo, al instalar un certificado SSL con Certbot)
Antonio Araujo