WPML
สถานะ
แก้ไขแล้ว

ภาพรวมของปัญหา

เมื่อคุณเปลี่ยนรูปแบบ URL หลังจากที่โพสต์ของคุณได้รับการเผยแพร่แล้วและได้รับการแปล คุณอาจพบปัญหาเกี่ยวกับการเปลี่ยนเส้นทาง URL หากคุณพิมพ์ URL ลงในแถบที่อยู่ของเบราว์เซอร์โดยตรง

ตัวอย่างเช่น:

  • คุณกำลังใช้ ภาษาที่แตกต่างกันในไดเรกทอรี ร่วมกับ WPML และไซต์ของคุณมี URL ของหน้า เช่น http://mysite.com/es/pagina-de-muestra/
  • หากตอนนี้เปลี่ยนรูปแบบ URL ของคุณเป็น โดเมนที่แตกต่างกันในแต่ละภาษา แล้ว URL ด้านบนจะกลายเป็น http://misitio.es/pagina-de-muestra/
  • เปิด http://mysite.com/es/pagina-de-muestra/ โดยตรง

ผลลัพธ์ที่ได้คือการแจ้งเตือน 404 จากเซิร์ฟเวอร์

* หมายเหตุ – ปลั๊กอิน WPML Sticky Links ช่วยป้องกันสถานการณ์ที่คล้ายคลึงกันแต่ไม่เหมือนกัน – แต่ในกรณีนี้ เนื่องจากคุณใช้ URL โดยตรง ปลั๊กอินนี้จึงไม่สามารถช่วยได้

วิธีแก้ปัญหาชั่วคราว

นี่ไม่ใช่ข้อบกพร่องแต่มีวิธีแก้ไขแบบกำหนดเองโดยการแก้ไขไฟล์ .htaccess ของไซต์ เราไม่สามารถช่วยเหลือคุณในส่วนนี้ได้เนื่องจากขึ้นอยู่กับการตั้งค่าของคุณและเป็นงานปรับแต่งขั้นสูง แต่เราสามารถให้ตัวอย่างแก่คุณได้

สำหรับสถานการณ์ก่อนหน้านี้ คุณควรวางโค้ดที่คล้ายกันไว้เหนือกฎของ WordPress โดยวางไว้ที่ด้านบนสุดของ .htaccess ก็ใช้งานได้:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^es(.*)$ http://misitio.es$1 [L,R=301]

คำขอทั้งหมดที่ไปยัง http://mysite.com/es/pagina-de-muestra/ จะไปสิ้นสุดที่ http://misitio.es/pagina-de-muestra/ ในตอนนี้

โปรดทราบว่า:


  • วิธีนี้ใช้ได้กับ Apache ที่เปิดใช้งาน mod-rewrite เท่านั้น

  • มีแหล่งข้อมูลมากมายเกี่ยวกับเรื่องนี้ ตัวอย่างเช่น บล็อกนี้

สำหรับตอนนี้ สิ่งสำคัญคือคุณต้องทราบว่าพฤติกรรมที่คาดหวังเมื่อคุณเปลี่ยนรูปแบบ URL คือหากคุณพยายามเข้าถึงโดเมนเก่าโดยตรง (ผ่านแถบที่อยู่) คุณจะได้รับการเปลี่ยนเส้นทาง 301 ไปยังภาษาเริ่มต้นหลัก

ปัญหาที่ทราบแล้วทั้งหมด →