Saltar al contenido

Prestashop redirige al dominio anterior después de cambiarlo en la base de datos

No olvides que en la informática un error casi siempere suele tener varias soluciones, así que aquí compartiremos lo más óptimo y eficiente.

Solución:

Para prestashop 1.7 hay que modificar algunos valores en la base de datos:

ps_configuration tabla y cambie PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL a su nuevo nombre de dominio, por ejemplo, mydomain.com

ps_shop_url table y cambie nuevamente los campos ‘domain’, ‘domain_ssl’ a su nuevo nombre de dominio y ‘physical_uri’. Si copió archivos en la carpeta raíz, la ruta será simplemente ‘/’.

Más en https://blog.premium-templates.eu/how-to-move-prestashop-from-localhost-to-domain-or-vice-versa

Nota: las redirecciones de caché de los navegadores, tendrá que limpiar la caché de su navegador. Consulte https://www.getfilecloud.com/blog/2015/03/tech-tip-how-to-do-hard-refresh-in-browsers/ para saber cómo hacer una “actualización completa” para su navegador.

En primer lugar, es genial que sigas cada paso de manera correcta. Ahora el problema es: –

Siempre que esté ejecutando cualquier dominio en su navegador. El navegador crea caché y cookies para esto. Si cambia alguna configuración de su dominio, no se reflejará hasta que no borre la memoria caché y las cookies de su navegador por completo.

Así que simplemente elimine el caché y la cookie de su navegador e intente verificar si funciona o no.

Nota: – Según el proceso que sigue, este único problema parece existir.

Su procedimiento es correcto, solo hay unos pocos factores que pueden causar su problema

  1. Asegúrese de que no haya una redirección manual en la configuración de su servidor web (o .htaccess para apache)
  2. Cambie los dominios de Prestashop desde la base de datos (detallado a continuación)
  3. Borre todo su caché Actualice los dominios de Prestashop de la base de datos (detallado a continuación)
  4. Pruebe siempre con un navegador en modo de incógnito/desarrollador, deshabilitando todas las redirecciones en caché. Yo personalmente uso una ventana de Chrome de incógnito, en modo desarrollador
  5. Al depurar, es una buena idea inspeccionar los registros de su servidor web, así como los intercambios de red de su navegador para identificar el origen del problema.

Aquí hay algunos scripts rudimentarios que uso para automatizar la limpieza de caché y el cambio de dominio para Prestashop 1.7.

1. Cambiar el dominio de Prestashop

Utilice un archivo de plantilla para generar un .sql archivo para parchear la base de datos. Si es más conveniente, puede ejecutarlo manualmente en su base de datos directamente.

patch-domain.sql.template:

UPDATE ps_configuration SET value='$SHOP_DOMAIN' WHERE name='PS_SHOP_DOMAIN';
UPDATE ps_configuration SET value='$SHOP_DOMAIN' WHERE name='PS_SHOP_DOMAIN_SSL';
UPDATE ps_shop_url SET domain='$SHOP_DOMAIN', domain_ssl='$SHOP_DOMAIN';

generar el verdadero .sql archivo de parche y aplicarlo

$ export SHOP_DOMAIN=mydomain.com
$ envsubst < patch-domain.sql.template > patch-domain.sql
$ mysql -u  -p  < patch-domain.sql

2. Borrar caché de Prestashop

Eliminar todos los archivos de caché excepto index.php

clear-cache.sh:

#!/bin/bash
base_dir='./shared/prestashop/html'

# Clear class index in case any override changed
rm $base_dir/cache/class_index.php

declare -a cache_dirs=(
    "cache/smarty/compile"
    "cache/smarty/cache"
    "cache/cachefs"
    "img/tmp" # You might want to keep tmp images
    "themes/*/cache"
    "var/cache")

# Clear all cache folder, ignoring 'index.php'
for dir in "$cache_dirs[@]"
do
    echo Cleaning $base_dir/$dir...
    find $base_dir/$dir -type f ! -name index.php -delete
done

EDITAR: Se puede acceder a la esencia actualizada aquí

Aquí tienes las comentarios y valoraciones

Si te apasiona la programación, puedes dejar un escrito acerca de qué le añadirías a esta reseña.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *