Score:0

การเปลี่ยนเส้นทางชั่วคราว (302, 307) บนไซต์คงที่ อัปเดตบ่อยครั้ง

ธง mx

พื้นหลังเสริม (เพื่อหลีกเลี่ยงปัญหา XY): ฉันกำลังทำงานกับไซต์คงที่ซึ่งจะมี URL เช่น www.example.com/ksiÄ Å¼ka/. ปัญหาของ URL เหล่านั้นคือเมื่อคุณแชร์ / วางในโปรแกรม IM ฯลฯ อักขระกำกับเสียงจะถูกขยายเป็น %<ฐานสิบหก> และอ่านไม่ออก: www.example.com/ksi%C4%85%C5%BCka/. ดังนั้นฉันกำลังพิจารณาสิ่งต่อไปนี้:

  • ตั้งค่า Canonical URL ของหน้าเป็น www.example.com/ksiazka/ ("Ä Å¼" แทนที่ด้วย "az")
  • ส่งคืนการเปลี่ยนเส้นทางชั่วคราว (HTTP 302 หรือ 307) ไปยัง www.example.com/ksiÄ Å¼ka/.

สิ่งที่ไม่ได้ผล:

การเขียนที่อยู่ใหม่โดยอัตโนมัติ เหตุผล: เราจะไม่เปลี่ยนจาก "Ä Å¼" เป็น "az" แต่จาก "az" เป็น "Ä Å¼" หรืออาจจะเป็น "Ä z" หรือ "aż" หรือ "áz" หรือหนึ่งในหลายๆ ความเป็นไปได้อื่นๆ การเปลี่ยนเส้นทางต้องสร้างขึ้นระหว่างการสร้างเพจ เมื่อเราทราบรายการทั้งหมดของเพจที่มีอยู่ และเรารู้ว่า "ksiazka" ควรเปลี่ยนเส้นทางไปที่ "ksiÄ Å¼ka" ไม่ใช่ "ksiÄ Å¼kÄ "

ฉันต้องกำหนดค่าการเปลี่ยนเส้นทาง HTTP 1 รายการต่อหน้า ฉันจะต้องมีการเปลี่ยนเส้นทาง HTTP ใหม่ทุกครั้งที่อัปโหลดบทความใหม่

การแก้ไขการกำหนดค่า NGINX จำเป็นต้องเข้าถึงรูท และฉันกำลังปรับใช้ไซต์ภายใต้การอนุญาตของผู้ใช้ทั่วไป ภายใต้ Apache คุณสามารถเพิ่มคำสั่งบางอย่างได้ .htaccessแต่นี่เป็นปัญหาสำหรับประสิทธิภาพและ NGINX ไม่จำเป็น

บาร์ที่ฉันสามารถสร้างการรวมใน /etc/nginx/sites-available/mysite เพื่อดึงเนื้อหาของ /home/myuser/mysite/_redirects. ดังนั้นเซิร์ฟเวอร์จะอ่านไฟล์ที่ควบคุมโดยผู้ใช้ทั่วไป ข้อเสียคือมันจะให้สิทธิ์ผู้ใช้ทั่วไปในการเข้าถึงตัวเลือกการกำหนดค่า NGINX ทั้งหมด ในขณะที่ฉันต้องตั้งค่าการเปลี่ยนเส้นทางเท่านั้น

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

สรุป:

  • เว็บไซต์คงที่
  • ต้องใช้ HTTP 302 หรือ HTTP 307
  • การอัปเดตบ่อยครั้ง (การแก้ไขด้วยตนเองของ /etc/nginx เป็นไปไม่ได้)
  • ไฟล์ที่อัปโหลดในฐานะผู้ใช้ระบบที่ไม่มีสิทธิพิเศษ
  • ไม่ให้ผู้ใช้มีอำนาจเหนือเว็บเซิร์ฟเวอร์มากเกินไป

วิธีที่ดีในการทำเช่นนี้กับ NGINX คืออะไร

sippybear avatar
ve flag
คำตอบนี้อาจมีประโยชน์: https://serverfault.com/a/656097/337307
vidarlo avatar
ar flag
ปรับ URL เป็น ASCII และหลีกเลี่ยงชุดอักขระเพิ่มเติมที่ต้องใช้การเข้ารหัส URL หรือไม่
mx flag
เป็นตัวเลือก แต่ฉันมีคำที่สะกดผิด (ไม่มีตัวกำกับเสียง) ในแถบที่อยู่ของเบราว์เซอร์ และแถบที่อยู่สามารถแสดงผลได้ ก็เลยเสียโอกาส
mx flag
หืม คำถามเกี่ยวกับการเปลี่ยนเส้นทางจำนวนมากมีแนวโน้มที่ดี: https://stackoverflow.com/q/29354142

โพสต์คำตอบ

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