- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- 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 และลองอีกครั้ง