ฉันจะแก้ไข URL ฐานของฉันเพื่อให้สามารถเข้าถึงเว็บไซต์ Magento ได้อย่างไร


35
  • ฉันเปลี่ยน 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/sessionbase_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 ได้
Fiasco Labs

สำหรับการค้นหาไดเร็กทอรีแคชที่วางผิดที่หากคุณสามารถติดตั้งได้n98-magerunให้ใช้คำสั่งn98-magerun.phar sys:infoเพื่อรับรายการข้อมูลระบบพื้นฐานโดยมีหนึ่งไอเท็มเป็นCache Directoryตำแหน่ง
Fiasco Labs

มันเหมาะกับฉันอย่างสมบูรณ์
Amol Bhandari SJ

12

ใน 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 หลังจากนี้
user3442612

สำหรับทุกคนที่เปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดด้วย https การตั้งค่า URL พื้นฐานเป็น https จะแก้ปัญหานี้ (เช่นเมื่อติดตั้งใบรับรอง SSL กับ Certbot)
Antonio Araujo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.