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

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

หากคุณกำหนดค่า WPML ด้วยโดเมนที่แตกต่างกันในแต่ละภาษาบนเซิร์ฟเวอร์ nginx คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าแรกในภาษาเริ่มต้นทุกครั้ง

ปัญหานี้ดูเหมือนจะมาจาก nginx ซึ่งส่งคืนตัวแปร HTTP_HOST ที่ไม่ถูกต้องเมื่อ REQUEST_URI ว่างเปล่า

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

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

ตัวอย่างเช่น การกำหนดค่า nginx ทั่วไปของคุณจะมีลักษณะดังนี้:

server {
    server_name example.com example.es;
    root /var/www/html;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
}

ในการแก้ไขปัญหานี้ ให้สร้างบล็อกเซิร์ฟเวอร์สำหรับแต่ละ server_name ดังนี้:

server {
    server_name example.com;
    root /var/www/html;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
}

server {
    server_name example.es;
    root /var/www/html;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
}

การกำหนดค่าที่แน่นอนของคุณอาจแตกต่างออกไป สิ่งที่คุณต้องทำคือทำสำเนาบล็อกเซิร์ฟเวอร์และตั้งค่า server_name ที่แตกต่างกันสำหรับแต่ละบล็อก

สุดท้าย คุณต้องรีสตาร์ท nginx และลองอีกครั้ง

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