Comment puis-je corriger mes URL de base pour pouvoir accéder à mon site Magento?


36
  • J'ai changé d'URL de base et maintenant mon site web est inaccessible
  • J'ai tout déplacé vers un nouveau serveur, je n'ai pas changé le paramètre base_url et mon site Web est inaccessible.

Comment modifier ou restaurer base_url mes paramètres BaseURL?

Réponses:


63

Symptôme: j'ai changé d'URL de base et maintenant mon site Web est inaccessible ou j'ai tout déplacé vers un nouveau serveur, je n'ai pas changé le base_urlet mon site Web est inaccessible.

Comment changer ou restaurer les paramètres de base_url avec phpMyAdmin

Les instructions concernent un site Web simple "un magasin" où la "vue du magasin par défaut" est configurée pour hériter de sa configuration de la "configuration par défaut". Il y aura une instance supplémentaire des lignes de table mentionnées ci-dessous pour chaque Use Websitecase à cocher non cochée.

  1. Ouvrez votre core_config_datatable dans phpMyAdmin.

  2. Triez le tableau par pathcolonne et recherchez les lignes suivantes pour votre section non sécurisée. Elles devraient ressembler à ceci:

Les colonnes

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. Remplacez http://www.example.com/par l'URL de votre domaine approprié (barre oblique nécessaire) et, si vous avez installé un sous-dossier, ajoutez-le avec un /après.

  2. Recherchez les lignes suivantes pour votre section sécurisée. Elles devraient ressembler à ceci:

Les colonnes

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. Remplacez https://www.example.com/par l'URL de votre domaine approprié (barre oblique nécessaire) et, si vous avez installé un sous-dossier, ajoutez-le avec un /après. Si vous n'avez pas encore reçu votre certificat de sécurité et activé TLS / SSL, utilisez httpplutôthttps

  2. Effacer le contenu de var/cache, var/sessionrépertoires après avoir changé base_urls.

Il est nécessaire d'effacer le cache et les sessions car votre configuration est mise en cache, ce qui oblige à relire les données de configuration de la core_config_datatable et à rétablir les sessions avec les informations appropriées.

Remarque: Si vous avez base_urlcorrectement défini votre pour web/unsecure/base_urlet web/secure/base_urlvous n'avez pas à perdre à changer les macros {{UNSECURE_BASE_URL}}et {{SECURE_BASE_URL}}dans le reste des entrées.

Comment changer les paramètres base_url avec mysql en ligne de commande

  1. Connectez-vous à votre base de données MySQL, remplacez $ USER par votre nom d'utilisateur de base de données et $ DBASE par votre nom de base de données. Il vous demandera votre mot de passe:

mysql -u $USER -p $DBASE

  1. Vous trouverez ci-dessous les commandes SQL permettant de modifier vos valeurs base_url. Remplacez les éléments non http://www.example.com/sécurisés et sécurisés https://www.example.com/(si SSL / TLS est activé, sinon https doit être http) avec l'URL de votre domaine approprié (barre oblique nécessaire) et si vous l'avez installé dans un sous-dossier, ajoutez-le /après.

Commandes 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. Vérifiez vos paramètres base_url avec les éléments suivants:

Commandes 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. Effacer le contenu de var/cache, var/sessionrépertoires après avoir changé base_urls. Il est nécessaire d'effacer le cache et les sessions car votre configuration est mise en cache, ce qui oblige à relire les données de configuration de la core_config_datatable et à rétablir les sessions avec les informations appropriées.

1
Remarque: dans les cas extrêmes où vos autorisations sur le var/répertoire sont gâchées, Magento stockera le cache Magento dans le /tmprépertoire système comme indiqué ici et l'effacement du cache n'effacera pas les entrées de configuration en cache extraites core_config_datajusqu'au redémarrage du serveur ou à une personne disposant de droits suffisants. peut supprimer le cache égaré de Magento.
Fiasco Labs

Pour rechercher ce répertoire de cache mal placé, si vous pouvez l'installer n98-magerun, utilisez la commande n98-magerun.phar sys:infopour obtenir une liste d'informations de base sur le système avec un élément comme Cache Directoryemplacement.
Fiasco Labs

cela fonctionne parfaitement pour moi.
Amol Bhandari SJ le

13

Dans Magento2, il existe également un moyen de le faire directement via Magento en utilisant les commandes ci-dessous plutôt que de devoir passer par SQL ce que je trouve un peu plus rapide.

Dans le répertoire racine de Magento, exécutez les commandes suivantes:

  1. Définir une URL non sécurisée

    bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
  2. Définir une URL sécurisée

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

    bin/magento cache:flush

1
Vous devrez peut-être aussi éditer base_link_url après cela.
user3442612

pour tous ceux qui ont redirigé tout le trafic via https, définir l'URL de base comme https résoudra ce problème (par exemple, lors de l'installation d'un certificat SSL avec Certbot)
Antonio Araujo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.