web-dev-qa-db-fra.com

Problème de redirection Magento après le déplacement

J'ai déplacé mon Magento vers un autre serveur avec un autre nom de domaine. Il continue maintenant à me relier à l'ancien domaine. Tous les fichiers et la base de données entière ont été recherchés et remplacés pour garantir la disparition des références. Le cache a été supprimé. Je suppose qu’il essaie toujours d’utiliser l’ancienne base de données, j’ai donc modifié le fichier local.xml contenant les informations de base de données, mais cela ne change rien. Puisqu'il n'y a pas de cache, est-ce que quelqu'un a la moindre idée de ce qui ne va pas?

17
user746379

Apparemment, Magento a également utilisé le répertoire "temp" dans la racine du serveur pour la mise en cache. Nettoyer cela résoudrait le problème. Ceci est bien sûr également pris en compte lors du redémarrage du serveur.

Assurez-vous que votre serveur Web a un accès en écriture au dossier var, var/cache et var/tmp dans votre installation de magento. Essayez d’utiliser chmod -R 700 var ou chmod -R 766 (utilisez ce dernier avec prudence).

NOTE: Ceci est le résultat de ne pas avoir vos autorisations de fichiers/répertoires correctement définies. Magento essaie d'utiliser var/cache et var/tmp, les trouve non lisibles par l'utilisateur du serveur Web et déplace son cache dans le dossier system/tmp. Quel que soit votre niveau de malédiction, de modification des paramètres de BaseURL et d'effacement de tout ce que vous trouvez dans var/cache, Magento continue de lire la configuration mise en cache dans le dossier system/tmp.

Vous ne croyez pas que ce sont les problèmes de Linux Server Admin 101 qui causent cela? Voici une preuve visuelle.

enter image description here

enter image description here

22
user746379

Cela est probablement dû à l'ancienne URL de base stockée dans la table de base de données core_config_data. Vous devez mettre à jour ces valeurs pour qu'elles pointent vers le nouveau domaine.

Vous pouvez mettre à jour avec les requêtes de mise à jour suivantes

UPDATE core_config_data SET value="http://www.newdomain.com/" 
WHERE path="web/unsecure/base_url"

mettre à jour l'URL de base sécurisée 

 UPDATE core_config_data SET value="https://www.newdomain.com/" 
 WHERE path="web/secure/base_url"
16
Shakti Singh

voici votre réponse:

La première étape était simple - trouver dans la base de données l'URL: nom de la table est core_config_data et les clés sont/web/unsecure/base_url et web/secure/base_url. Modifiez ces deux valeurs.

La deuxième étape est également très logique - le cache de nettoyage! Magento met tout en cache, y compris les valeurs de la table de configuration, donc allez à la racine Magento avec FTP ou SSH, supprimez tout des dossiers var/cache/et var/session/et var/tmp. (Vous pouvez même les renommer et créer un dossier vide dans ces noms). 

J'espère que ça aide

4
Fury

Je viens d'avoir ce problème, après avoir essayé tout ce qui est énuméré ci-dessus et plusieurs autres SO réponses , J'ai découvert qu'il y avait plus d'une définition base_url dans la table core_config_data

si tu cours

select * from core_config_data where path like '%base_url%'

Vous devriez voir toutes les définitions La portée était différente pour cette définition et remplaçait la valeur par défaut que j'avais déjà modifiée.

3
dijkstra8x

une chose de plus que les gens oublient facilement dans de tels cas. Le fichier local.xml doit également être modifié en fonction des paramètres de la base de données de sauvegarde. Sinon, vous pouvez éditer la base_url et effacer le cache des milliers de fois et vous ne serez jamais dirigé vers l'URL que vous désirez :)

2
Naveed

Dans mon cas, c’était la configuration avec path=payment/wayforpay_payment/merchant qui contient un domaine avec des points remplacés par des traits de soulignement, par exemple. www_yourdomain_com. Après avoir changé pour mynewdomain_com, le problème a été résolu.

1
Gendos-ua

Dans mon cas, c'était encore plus étrange. Sur mon instance de développement, je n'avais pas de dossier "temp", le cache était stocké quelque part en dehors du site vhost, ou en dB, mais pas dans core_config_data. Seule la suppression du cache dans Magento BE peut aider, il est donc préférable de le faire avant le dump dB.

Meilleures salutations.

1
Fedir RYKHTIK

dans mon cas c'est parce que j'ai oublié de changer le nom de la base de données en app/etc/local.xml

1
Thịnh Phạm

Supprimer le cache du répertoire var/cache.

après cela, lancez cette requête dans la table core_config_data de magento. Après cela, vous ne recevrez pas d'erreur de redirection.

Ce processus fonctionnera à la fois pour Magento 1.9.x et magento 2.x

UPDATE core_config_data SET value = "http://exemple.com/" WHERE chemin = "web/unsecure/base_url"; UPDATE core_config_data SET valeur = "https://exemple.com/" WHERE path = " web/secure/base_u

0
pranabesh chand

J'ai pensé que réaliser l'opération de déplacement en utilisant des interfaces:

  1. Sous admin> configuration> onglet général> web, mettez à jour l'URL de base et sécurisez l'URL de base.

  2. Déplacez votre dossier.

  3. Sous la ligne de commande, dites à magento de vider le cache.

cache php bin/magento: propre

0
justnajm

J'ai eu le même problème. Si vous pouvez appeler votre site en ajoutant index.php à l'URL (par exemple, http://www.votres.de/index.php ), il s'agit probablement d'un problème de cache.

Ouvrez la console du développeur et désactivez le cache ou supprimez simplement le cache dans le navigateur. Ensuite, appelez l'URL. Cela l'a résolu pour moi!

0
Black

dans mon cas c'était baseUrl avec une lettre majuscule

0
Sol

J'ai également eu quelques problèmes avec la redirection d'URL, assurez-vous que lorsque vous définissez votre nouveau domaine en back-end pour ajouter un caractère/à la fin de l'URL. Bonne chance!

0
Paul Ionescu II