Come posso correggere i miei URL di base in modo da poter accedere al mio sito Magento?


36
  • Ho cambiato gli URL di base e ora il mio sito Web è inaccessibile
  • Ho spostato tutto su un nuovo server, non ho modificato base_url e il mio sito Web è inaccessibile

Come posso modificare o ripristinare base_url le mie impostazioni BaseURL?

Risposte:


63

Sintomo: ho modificato gli URL di base e ora il mio sito Web è inaccessibile o ho spostato tutto su un nuovo server, non ho modificato il base_urle il mio sito Web è inaccessibile.

Come modificare o ripristinare le impostazioni di base_url con phpMyAdmin

Le istruzioni sono per un semplice sito Web "un negozio" in cui la "visualizzazione negozio predefinita" è impostata per ereditare la sua configurazione dalla "configurazione predefinita". Ci sarà un'istanza aggiuntiva delle righe della tabella menzionate di seguito per ciascuna Use Websitecasella di controllo non selezionata .

  1. Apri la tua core_config_datatabella in phpMyAdmin.

  2. Ordina la tabella per pathcolonna e trova le seguenti righe per la tua sezione non protetta , dovrebbero apparire come le seguenti:

colonne

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. Sostituisci http://www.example.com/con il tuo URL di dominio appropriato (barra finale necessaria) e se hai installato in una sottocartella aggiungilo con un /dopo.

  2. Trova le seguenti righe per la tua sezione sicura , dovrebbero apparire come le seguenti:

colonne

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. Sostituisci https://www.example.com/con il tuo URL di dominio appropriato (barra finale necessaria) e se hai installato in una sottocartella aggiungilo con un /dopo. Se non hai ancora ricevuto il certificato di sicurezza e abilitato TLS / SSL, utilizza httpinvece dihttps

  2. Cancella contenuti da var/cache, var/sessiondirectory dopo la modifica base_urls.

La cancellazione della cache e delle sessioni è necessaria perché la configurazione è memorizzata nella cache e la sua cancellazione impone una rilettura dei dati di configurazione dalla core_config_datatabella e il ristabilimento delle sessioni con le informazioni appropriate.

NOTA: se hai impostato base_urlcorrettamente web/unsecure/base_urle web/secure/base_urlnon devi fare confusione con la modifica delle macro {{UNSECURE_BASE_URL}}e {{SECURE_BASE_URL}}nel resto delle voci.

Come modificare le impostazioni di base_url con mysql dalla riga di comando

  1. Accedere al database MySQL, sostituire $ USER con il nome utente del database e $ DBASE con il nome del database. Ti verrà richiesta la password:

mysql -u $USER -p $DBASE

  1. Di seguito sono riportati i comandi SQL per modificare i valori base_url. Sostituisci non http://www.example.com/sicuro e sicuro https://www.example.com/(se hai abilitato SSL / TLS, altrimenti https dovrebbe essere http) con il tuo URL di dominio appropriato (barra finale necessaria) e se hai installato in una sottocartella aggiungilo con un /dopo.

Comandi 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. Controlla le impostazioni di base_url con quanto segue:

Comandi 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. Cancella contenuti da var/cache, var/sessiondirectory dopo la modifica base_urls. La cancellazione della cache e delle sessioni è necessaria perché la configurazione è memorizzata nella cache e la sua cancellazione impone una rilettura dei dati di configurazione dalla core_config_datatabella e il ristabilimento delle sessioni con le informazioni appropriate.

1
Nota: in casi estremi in cui i permessi sulla var/directory sono incasinati, Magento memorizzerà la cache Magento nella /tmpdirectory di sistema come documentato qui e la cancellazione della cache non cancella le voci di configurazione memorizzate nella cache estratte core_config_datafino al riavvio del server o qualcuno con diritti sufficienti può cancellare la cache smarrita di Magento.
Fiasco Labs,

Per trovare quella directory cache fuori posto, se è possibile installarla n98-magerun, utilizzare il comando n98-magerun.phar sys:infoper ottenere un elenco di informazioni di sistema di base con un elemento in Cache Directoryposizione.
Fiasco Labs,

questo funziona perfettamente per me.
Amol Bhandari SJ,

13

In Magento2, c'è anche un modo per farlo direttamente tramite Magento usando i comandi seguenti invece di dover passare attraverso SQL che trovo un po 'più veloce.

Nella directory principale di Magento, esegui i comandi seguenti:

  1. Imposta URL non sicuro

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

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

    bin/magento cache:flush

1
Dopo questo potrebbe essere necessario modificare base_link_url.
user3442612

per chiunque abbia reindirizzato tutto il traffico tramite https impostando l'URL di base come https risolverà questo problema (ad es. durante l'installazione del certificato SSL con Certbot)
Antonio Araujo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.