Bagaimana cara memperbaiki URL Basis saya sehingga saya dapat mengakses situs Magento saya?

36
  • Saya mengubah Url Base dan sekarang situs web saya tidak dapat diakses
  • Saya memindahkan semuanya ke server baru, tidak mengubah base_url dan situs web saya tidak dapat diakses

Bagaimana cara mengubah atau mengembalikan base_url pengaturan BaseURL saya?

Laboratorium Fiasco
sumber

Jawaban:

63

Gejala: Saya mengubah Url Base dan sekarang situs web saya tidak dapat diakses atau saya memindahkan semuanya ke server baru, tidak mengubah base_urldan situs web saya tidak dapat diakses.

Cara mengubah atau mengembalikan pengaturan base_url dengan phpMyAdmin

Petunjuk adalah untuk situs web "satu toko" sederhana di mana "tampilan toko default" diatur untuk mewarisi pengaturannya dari "konfigurasi default". Akan ada contoh tambahan dari baris tabel yang disebutkan di bawah ini untuk setiap Use Websitekotak centang tidak dicentang .

  1. Buka core_config_datameja Anda di phpMyAdmin.

  2. Urutkan tabel dengan pathkolom dan temukan baris berikut untuk bagian tidak aman Anda , mereka akan terlihat seperti berikut:

Kolom

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. Ganti http://www.example.com/dengan url domain yang sesuai (trailing slash diperlukan) dan jika Anda telah menginstal di subfolder, tambahkan dengan /setelahnya.

  2. Temukan baris berikut untuk bagian aman Anda , mereka akan terlihat seperti berikut:

Kolom

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. Ganti https://www.example.com/dengan url domain yang sesuai (trailing slash diperlukan) dan jika Anda telah menginstal di subfolder, tambahkan dengan /setelahnya. Jika Anda belum menerima sertifikat keamanan dan mengaktifkan TLS / SSL, gunakan httpsebagai gantinyahttps

  2. Hapus konten dari var/cache, var/sessiondirektori setelah diubah base_urls.

Membersihkan cache dan sesi diperlukan karena konfigurasi Anda di-cache dan membersihkannya memaksa membaca ulang data konfigurasi dari core_config_datatabel dan membangun kembali sesi dengan informasi yang tepat.

CATATAN: Jika Anda telah mengatur dengan base_urlbenar untuk web/unsecure/base_urldan web/secure/base_urlAnda tidak perlu dipusingkan dengan mengubah {{UNSECURE_BASE_URL}}dan {{SECURE_BASE_URL}}makro di sisa entri.

Bagaimana mengubah pengaturan base_url dengan mysql dari baris perintah

  1. Masuk ke basis data MySQL Anda, ganti $ USER dengan nama pengguna basis data Anda dan $ DBASE dengan nama basis data Anda. Ini akan menanyakan kata sandi Anda:

mysql -u $USER -p $DBASE

  1. Di bawah ini adalah perintah SQL untuk mengubah nilai base_url Anda. Ganti tidak http://www.example.com/aman dan aman https://www.example.com/(jika Anda memiliki SSL / TLS diaktifkan, kalau tidak https harus http) dengan url domain yang sesuai (trailing slash diperlukan) dan jika Anda telah menginstal di subfolder, tambahkan dengan /setelahnya.

Perintah 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. Periksa pengaturan base_url Anda dengan yang berikut:

Perintah 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. Hapus konten dari var/cache, var/sessiondirektori setelah diubah base_urls. Membersihkan cache dan sesi diperlukan karena konfigurasi Anda di-cache dan membersihkannya memaksa membaca ulang data konfigurasi dari core_config_datatabel dan membangun kembali sesi dengan informasi yang tepat.
Laboratorium Fiasco
sumber
1
Catatan: Dalam kasus ekstrem di mana izin Anda pada var/direktori kacau, Magento akan menyimpan cache Magento di /tmpdirektori sistem seperti yang didokumentasikan di sini dan membersihkan cache tidak menghapus entri konfigurasi cache yang ditarik dari core_config_datahingga server reboot atau seseorang dengan hak yang memadai dapat menghapus cache mislaid Magento.
Fiasco Labs
Untuk menemukan direktori cache yang salah tempat, jika Anda dapat menginstal n98-magerun, gunakan perintah n98-magerun.phar sys:infountuk mendapatkan daftar info sistem dasar dengan satu item menjadi Cache Directorylokasi.
Fiasco Labs
ini bekerja untuk saya dengan sempurna.
Amol Bhandari SJ
13

Di Magento2, ada juga cara untuk melakukan ini secara langsung melalui Magento menggunakan perintah di bawah daripada harus melalui SQL yang saya temukan sedikit lebih cepat.

Dalam direktori root Magento, jalankan perintah di bawah ini:

  1. Setel URL Tidak Aman

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

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

    bin/magento cache:flush
harri
sumber
1
Anda mungkin juga perlu mengedit base_link_url setelah ini.
user3442612
bagi siapa saja yang telah mengalihkan semua lalu lintas melalui https pengaturan URL dasar sebagai https akan menyelesaikan masalah ini (mis. ketika memasang sertifikat SSL dengan Certbot)
Antonio Araujo