วิธีที่ดีที่สุดในการเปลี่ยนเส้นทาง 57,000 URL ใน nginx คืออะไร


3

ฉันวางแผนที่จะทำการเปลี่ยนเส้นทางจำนวนมากใน nginx ด้วยไฟล์การจับคู่เช่นในตัวอย่างด้านล่าง แต่เพิ่งค้นพบว่าฉันต้องเปลี่ยนเส้นทางประมาณ 57,000 URL วางไว้ในไฟล์กำหนดค่าเช่นนี้เป็นวิธีที่ดีที่สุดในการทำหรือมีวิธีที่ดีกว่า

map $request_uri $redirect_uri {
    /old-path-1     /new-path-1;
    /old-path-2     /new-path-2;
    /old-path-3     /new-path-3;
}

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


การระบุเวอร์ชันที่คุณใช้อาจช่วยได้
gf_

ฉันกำลังจะสร้างเซิร์ฟเวอร์ใหม่ดังนั้นฉันจึงสามารถใช้เวอร์ชันใดก็ได้ เซิร์ฟเวอร์ปัจจุบันกำลังเรียกใช้ 1.10
Josh

สร้างรายการที่มี 10 เท่ารายการที่คุณต้องการและเปรียบเทียบเวลาเริ่มต้นเวลาแฝงและหน่วยความจำ รายการจะเติบโตในอนาคตหรือไม่
2560

พวกเขาเป็นเพียง URL จากเว็บไซต์รุ่นก่อนหน้า รายการจะไม่เติบโตอย่างมีนัยสำคัญในอนาคตเว้นแต่จะมีการสร้างใหม่ซึ่งจะออกไปปี
Josh

คำตอบ:


2

ที่ควรจะทำงานได้ดี หมายเหตุคุณยังสามารถใช้รวมถึงคำสั่งสำหรับแผนที่ของคุณเพื่อให้ไฟล์กำหนดค่าของคุณดูสวย

BTW นี่คือทางเลือกสองทาง:

  1. คุณสามารถใช้proxy_cacheและสร้าง URL นี้ผ่านทาง PHP / Python / อะไรก็ตามที่อยู่เบื้องหลัง nginx หากสะดวกกว่าด้วยเหตุผลบางประการ โปรดทราบว่ามันช้ากว่ามาก
  2. ใช้การแข่งขันที่แน่นอนตรวจสอบหัวข้อนี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.