เปลี่ยนเส้นทางภาษา Nginx + Wordpress ผิดกับภาษาเริ่มต้น
ขออภัยสำหรับคำถามซ้ำที่นี่:
การเปลี่ยนเส้นทางภาษา Nginx + Wordpress
ใช้งานได้ทั้งหมด แต่สำหรับภาษา EN เริ่มต้น
ฉันแค่ต้องการเปลี่ยนเส้นทางผู้เยี่ยมชม JP ไปยังไดเร็กทอรี /ja/ หรือประเทศอื่นๆ ไปยังไดเร็กทอรีอื่นในภายหลัง
สำหรับตอนนี้ ฉันต้องการให้ประเทศอื่นๆ ทั้งหมดเป็นโดเมนหลัก
กฎที่ฉันใช้คือ:
แผนที่ $http_accept_language $lang {
เริ่มต้น en;
~จาจา;
}
...
เขียนใหม่ ^/$ /$lang/ ถาวร;
กฎนี้เปลี่ยนเส้นทางผู้เข้าชมรายอื่นทั้งหมดไปที่ mydomain.com/en/ ซึ่งแน่นอนว่าเป็น 404 เนื่องจาก EN เป็นภาษาหลักของฉัน!
=======================================
นี่คือกฎทั้งหมดในการกำหนดค่าฝั่งไซต์
หวังว่าทุกคนสามารถช่วยฉันได้!
แผนที่ $http_accept_language $lang {
เริ่มต้น en;
~จาจา;
}
เซิร์ฟเวอร์
{
ฟัง 80;
ฟัง 443 ssl http2;
server_name mydomain.com www.mydomain.com;
ดัชนี index.php index.html index.htm default.php default.htm default.html;
รูท /www/wwwroot/mydomain.com;
#REWRITE-เริ่ม
เขียนใหม่ ^/$ /$lang/ ถาวร;
รวม /www/server/panel/vhost/rewrite/mydomain.com.conf;
#REWRITE-END
ตำแหน่ง ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
กลับ 404;
}
สถานที่ ~ \.ที่รู้จักกันดี{
อนุญาตทั้งหมด
}
ตำแหน่ง ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
หมดอายุ 30d;
error_log /dev/null;
access_log /dev/null;
}
ตำแหน่ง ~ .*\.(js|css)?$
{
หมดอายุ 12h;
error_log /dev/null;
access_log /dev/null;
}
access_log /www/wwwlogs/mydomain.com.log;
error_log /www/wwwlogs/mydomain.com.log;
}