- สถานะ
- แก้ไขแล้ว
ภาพรวมของปัญหา
เมื่อคุณเปลี่ยนรูปแบบ 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 ไปยังภาษาเริ่มต้นหลัก