Score:0

Apache 2.4: วิธีเปลี่ยนเส้นทางผู้ใช้ขึ้นอยู่กับการตั้งค่าภาษา

ธง jp

ฉันมีไซต์สแตติกหลายภาษา ไซต์มีโครงสร้างเพื่อให้เนื้อหาทั้งหมดเป็นภาษาอังกฤษโดยค่าเริ่มต้น ดังนั้นเนื้อหาเริ่มต้นจึงอยู่ภายใต้ / ตัวอย่างเช่น:

เส้นทาง: เนื้อหา:
/               บ้าน
/contact.html หน้าติดต่อ
/services.html บริการ
/about.html เกี่ยวกับเรา

จากนั้นจะมีโฟลเดอร์ย่อยสำหรับแต่ละภาษาที่รองรับ ตัวอย่างเช่น 'de' ในภาษาเยอรมัน 'da' ในภาษาเดนมาร์ก เป็นต้น เนื้อหาที่แปลแล้วทั้งหมดจะปรับขนาดในโฟลเดอร์ย่อยสำหรับภาษาที่เกี่ยวข้อง

ดังนั้นเนื้อหาภาษาเดนมาร์กจะมีโครงสร้างดังนี้:

เส้นทาง: เนื้อหา:
/ดา/ หน้าแรก
/da/contact.html หน้าติดต่อ
/da/services.html บริการ
/da/about.html เกี่ยวกับเรา

และเช่นเดียวกันสำหรับภาษาอื่นๆ

เนื่องจากไซต์นี้เป็นไซต์แบบสแตติกโดยสมบูรณ์ ฉันจึงไม่สามารถใช้ภาษาสคริปต์บางภาษา เช่น PHP เพื่อตรวจหาตำแหน่งที่ตั้งของผู้ใช้และเปลี่ยนเส้นทางตามนั้น

ดังนั้นฉันคิดว่าฉันจะต้องปล่อยให้ apache ทำส่วนนี้

ฉันใช้ Apache 2.4

คำถามของฉันคือ ฉันจะกำหนดค่าโฮสต์เสมือนของ Apache ให้ผู้ใช้ที่ร้องขอ / จะถูกเปลี่ยนเส้นทางไปยัง /da/ หากภาษาที่ต้องการคือเดนมาร์ก ไปที่ /de/ หากภาษาที่ต้องการคือเยอรมัน และรับ / as เริ่มต้นถ้าภาษาอังกฤษหรือภาษาอื่น ๆ เป็นภาษาที่ต้องการ? ในทำนองเดียวกัน หากผู้ใช้ร้องขอ /foo.html พวกเขาจะถูกเปลี่ยนเส้นทางไปที่ /$LANG/foo.html โดยที่ $LANG เป็นภาษาที่ต้องการ (คือภาษานั้นอยู่ในรายการภาษาที่รองรับ)

ระบบจะตรวจพบการตั้งค่าตำแหน่งที่ตั้ง/ภาษาของผู้ใช้โดยใช้ส่วนหัวที่ยอมรับภาษาของไคลเอ็นต์

ตอนนี้ ส่วนหัวนี้จะสนับสนุนไคลเอนต์ที่ระบุหลายภาษาตามลำดับความสำคัญ ดังนั้นเราจะใช้สิ่งที่คุณต้องการ

นอกจากนี้ ฉันเดาว่าเราจะต้องเก็บภาษาไว้ในคุกกี้บางประเภท เนื่องจากหากผู้ใช้ระบุภาษาเยอรมันเป็นภาษาที่ต้องการ แต่ขอเวอร์ชันเดนมาร์กหรืออังกฤษอย่างชัดแจ้ง เราก็ไม่ควรเปลี่ยนเส้นทางต่อไป

ดังนั้นฉันจึงพยายามนี้ สิ่งนี้ไม่ได้ตั้งค่าคุกกี้ แต่จะทริกเกอร์เฉพาะในหน้าหลัก (/) เพียงแค่ตรวจสอบว่าภาษาเดนมาร์กเป็นภาษาที่ยอมรับหรือไม่ แต่ไม่ใช่ว่าจะชอบเดนมาร์กหรือไม่ นอกจากนี้ยังไม่รองรับหลายภาษาได้เป็นอย่างดี ตัวอย่างเช่น สมมติว่าเรามีผู้ใช้ที่ชอบภาษาเยอรมันแต่มีภาษาเดนมาร์กเป็นภาษาที่สอง พวกเขาจะได้รับภาษาเดนมาร์กที่นี่และไม่ใช่ภาษาเยอรมัน

RewriteEngine เปิดอยู่
RewriteCond %{HTTP:Accept-Language} (ดา) [NC]
RewriteCond %{REQUEST_URI} "^/$"
RewriteRule ^(.*)$ https://%{SERVER_NAME}/da [R=303,NC,L]   

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา