- Zmieniłem podstawowe adresy URL, a teraz moja strona jest niedostępna
- Przeniosłem wszystko na nowy serwer, nie zmieniłem base_url, a moja strona jest niedostępna
Jak mogę zmienić lub przywrócić base_url moje ustawienia BaseURL?
Jak mogę zmienić lub przywrócić base_url moje ustawienia BaseURL?
Odpowiedzi:
Objaw: Zmieniłem podstawowe adresy URL, a teraz moja strona jest niedostępna lub przeniosłem wszystko na nowy serwer, nie zmieniłem base_url
i moja strona jest niedostępna.
Instrukcje dotyczą prostej witryny „jednego sklepu”, w której „domyślny widok sklepu” jest ustawiony na dziedziczenie jego konfiguracji z „domyślnej konfiguracji”. Dla każdego niezaznaczonego Use Website
pola wyboru będzie dodatkowe wystąpienie niżej wymienionych wierszy tabeli .
Otwórz swój core_config_data
stół w phpMyAdmin.
Sortuj tabelę według path
kolumn i znajdź następujące wiersze dla swojej niezabezpieczonej sekcji , powinny one wyglądać następująco:
Kolumny
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/
Zamień http://www.example.com/
na odpowiedni adres URL domeny (konieczny jest ukośnik końcowy), a jeśli masz zainstalowany w podfolderze, dodaj go /
po nim.
Znajdź następujące wiersze dla bezpiecznej sekcji , powinny one wyglądać następująco:
Kolumny
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/
Zamień https://www.example.com/
na odpowiedni adres URL domeny (konieczny jest ukośnik końcowy), a jeśli masz zainstalowany w podfolderze, dodaj go /
po nim. Jeśli nie otrzymałeś jeszcze certyfikatu bezpieczeństwa i nie włączyłeś TLS / SSL, użyj http
zamiasthttps
Wyczyść zawartość var/cache
, var/session
katalogi po zmianie base_urls
.
Czyszczenie pamięci podręcznej i sesji jest konieczne, ponieważ konfiguracja jest buforowana, a jej wyczyszczenie wymusza ponowne odczytanie danych konfiguracyjnych z core_config_data
ponowne tabeli i ponowne ustanowienie sesji z odpowiednimi informacjami.
UWAGA: Jeśli ustawiłeś base_url
poprawnie dla web/unsecure/base_url
i web/secure/base_url
nie musisz bałaganić, zmieniając makra {{UNSECURE_BASE_URL}}
i {{SECURE_BASE_URL}}
w pozostałych wpisach.
mysql -u $USER -p $DBASE
http://www.example.com/
i bezpieczny https://www.example.com/
(jeśli masz włączony protokół SSL / TLS, w przeciwnym razie https powinien być http) odpowiednim adresem URL domeny (konieczne ukośnik) i jeśli masz zainstalowany w podfolderze, dodaj go /
po nim.Polecenia 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';
Polecenia 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%';
var/cache
, var/session
katalogi po zmianie base_urls
. Czyszczenie pamięci podręcznej i sesji jest konieczne, ponieważ konfiguracja jest buforowana, a wyczyszczenie jej wymusza core_config_data
ponowne odczytanie danych konfiguracyjnych z tabeli i ponowne ustanowienie sesji z odpowiednimi informacjami.n98-magerun
, użyj polecenia, n98-magerun.phar sys:info
aby uzyskać podstawowe informacje o systemie z jednym elementem będącym Cache Directory
lokalizacją.
W Magento2 istnieje również sposób, aby to zrobić bezpośrednio za pomocą Magento, używając poniższych poleceń, zamiast konieczności przechodzenia przez SQL, co uważam za nieco szybsze.
W katalogu głównym Magento uruchom następujące polecenia:
Ustaw niezabezpieczony adres URL
bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
Ustaw bezpieczny adres URL
bin/magento setup:store-config:set --base-url-secure="https://www.magento2.com/"
Wyczyść pamięć podręczną
bin/magento cache:flush
var/
katalogu są pomieszane, Magento zapisze pamięć podręczną Magento w/tmp
katalogu systemowym, jak tutaj udokumentowano, a wyczyszczenie pamięci podręcznej nie spowoduje wyczyszczenia zapisanych w pamięci podręcznej pozycji konfiguracji odcore_config_data
momentu ponownego uruchomienia serwera lub osoby z wystarczającymi uprawnieniami może usunąć zgubioną pamięć podręczną Magento.