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.