Як я можу виправити базові URL-адреси, щоб отримати доступ до свого сайту Magento?


36
  • Я змінив базові URL-адреси, і тепер мій веб-сайт недоступний
  • Я перемістив усе на новий сервер, не змінив base_url і мій веб-сайт недоступний

Як змінити або відновити base_url мої налаштування BaseURL?

Відповіді:


63

Ознака: я змінив базові URL-адреси, і тепер мій веб-сайт недоступний або я перемістив все на новий сервер, не змінив base_urlі мій веб-сайт недоступний.

Як змінити або відновити налаштування base_url за допомогою phpMyAdmin

Інструкції призначені для простого веб-сайту "один магазин", на якому "перегляд магазину за замовчуванням" встановлено для успадкування його налаштування від "конфігурації за замовчуванням". Буде додатковий екземпляр згаданих нижче рядків таблиці для кожного невірно встановленого Use Websiteпрапорця.

  1. Відкрийте свою core_config_dataтаблицю в phpMyAdmin.

  2. Сортуйте таблицю за pathстовпцями та знайдіть такі рядки для вашого незахищеного розділу , вони повинні мати вигляд наступного:

Стовпці

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. Замініть http://www.example.com/відповідним URL-адресою домену (необхідний кінець косої риски), і якщо ви встановлені в підпапці, додайте його /після.

  2. Знайдіть наступні рядки для безпечного розділу , вони повинні мати вигляд наступного:

Стовпці

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. Замініть https://www.example.com/відповідним URL-адресою домену (необхідний кінець косої риски), і якщо ви встановлені в підпапці, додайте його /після. Якщо ви ще не отримали сертифікат безпеки та не ввімкнули TLS / SSL, використовуйте httpзамість цьогоhttps

  2. Очистіть вміст var/cache, var/sessionкаталоги після зміни base_urls.

Очищення кешу та сеансів необхідне, оскільки ваш конфігурація є кешованою та очищає, примушує перечитати дані конфігурації з core_config_dataтаблиці та відновити сеанси з належною інформацією.

ПРИМІТКА. Якщо ви base_urlправильно встановили web/unsecure/base_urlі web/secure/base_urlвам не доведеться возитися зі зміною {{UNSECURE_BASE_URL}}та {{SECURE_BASE_URL}}макросів в решті записів.

Як змінити налаштування base_url за допомогою mysql з командного рядка

  1. Увійдіть у свою базу даних MySQL, замініть $ USER на ім’я користувача вашої бази даних та $ DBASE на ім’я бази даних. Він запропонує вам пароль:

mysql -u $USER -p $DBASE

  1. Нижче наведено команди SQL для зміни значень base_url. Замініть незахищені http://www.example.com/та захищені https://www.example.com/(якщо у вас включений SSL / TLS, інакше https має бути http) відповідним URL-адресом домену (необхідний кінець косої риси), і якщо ви встановили в підпапку, додайте його /після.

Команди 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. Перевірте свої параметри base_url з наступним:

Команди 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. Очистіть вміст var/cache, var/sessionкаталоги після зміни base_urls. Очищення кешу та сеансів необхідне, оскільки ваш конфігурація є кешованою та очищає, примушує перечитати дані конфігурації з core_config_dataтаблиці та відновити сеанси з належною інформацією.

1
Примітка: У крайніх випадках, коли ваші дозволи в var/каталозі змішані, Magento зберігатиме кеш Magento в системному /tmpкаталозі, як тут задокументовано, і очищення кеша не очищає кешовані записи конфігурації, витягнуті звідти core_config_dataдо перезавантаження сервера або когось з достатніми правами може видалити кеш-пам’ятку Magento.
Лабораторії Фіаско

Щоб знайти цей кешований каталог кешу, якщо ви його можете встановити n98-magerun, скористайтеся командою, n98-magerun.phar sys:infoщоб отримати базовий список системної інформації, причому один елемент є Cache Directoryмісцеположенням.
Лабораторії Фіаско

це працює для мене чудово.
Amol Bhandari SJ

13

У Magento2 також є спосіб зробити це безпосередньо через Magento, використовуючи команди нижче, а не проходити через SQL, який я знаходжу трохи швидше.

У кореневому каталозі Magento запустіть нижче команд:

  1. Встановити незахищену URL-адресу

    bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
  2. Встановіть безпечну URL-адресу

    bin/magento setup:store-config:set --base-url-secure="https://www.magento2.com/"
  3. Очистити кеш

    bin/magento cache:flush

1
Після цього вам може знадобитися відредагувати base_link_url.
користувач3442612

для всіх, хто переспрямував увесь трафік через https, встановивши базову URL-адресу як https, вирішить цю проблему (наприклад, при встановленні SSL-сертифіката з Certbot)
Антоніо Арауджо,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.