ฉันติดอยู่กับกฎการเขียนซ้ำ IIS ที่ง่ายมาก ฉันมีชุดลิงก์ที่มีเส้นทางที่ไม่ถูกต้อง และฉันต้องเปลี่ยนเส้นทางคำขอทั้งหมดไปยังเส้นทางนั้นไปยังเส้นทางใหม่
นี่คือเส้นทางที่ขาด: https://documentation.buzsoftware.com/buzdocs/BuzClubManager/index.cfm?ID=690
ส่วน "buzdocs" ของเส้นทางไม่มีอยู่อีกต่อไป และลิงก์ทั้งหมดที่อยู่ใต้เส้นทางนี้ได้ถูกย้ายขึ้นหนึ่งโฟลเดอร์ไปยังเส้นทางตัวอย่างนี้ (ซึ่งใช้งานได้): https://documentation.buzsoftware.com/BuzClubManager/index.cfm?ID=690
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="(.*)/buzdocs(.*)" />
<action type="Rewrite" url="{R:1}{R:2}" appendQueryString="false" />
</rule>
หรือ
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="https://documentation.buzsoftware.com/buzdocs(.*)" />
<action type="Rewrite" url="https://documentation.buzsoftware.com/{R:1}" appendQueryString="false" />
</rule>
ฉันได้ลองใช้รูปแบบ regex ที่หลากหลาย และทุกครั้งที่ฉันไปยังเส้นทางที่ไม่ถูกต้อง ฉันจะได้รับ 404 และฉันจะไม่เปลี่ยนเส้นทาง
ฉันไม่แน่ใจว่าฉันต้องใช้ ^ (จุดเริ่มต้นของบรรทัด) หรือ $ (จุดสิ้นสุดของบรรทัด) ในการจับคู่รูปแบบหรือไม่ ฉันได้ลองทั้งสองอย่างด้วยผลลัพธ์เดียวกัน
การใช้เฉพาะ {R:1} (ตัวอย่างแรก) กับการใช้ทั้ง {R:1} และ {R:2} (ตัวอย่างที่สอง) โดยไม่แน่ใจว่าวิธีใดเป็นวิธีที่ถูกต้อง ความคิดเห็นใด ๆ เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดจะเป็นประโยชน์
ฉันยังเด้งไปมาระหว่าง <ประเภทการดำเนินการ = "เขียนซ้ำ"
และ <ประเภทการดำเนินการ = "เปลี่ยนเส้นทาง"
โดยไม่มีการเปลี่ยนแปลง
ลิงก์เหล่านี้เป็นลิงก์ไปยังไซต์ที่ใช้งานอยู่ อย่าลังเลที่จะเข้าชม ขอบคุณสำหรับคำแนะนำ ฉันค่อนข้างแน่ใจว่าฉันพลาดอะไรเล็กๆ น้อยๆ ไป และคงจะเอาหัวโขกโต๊ะเพื่อเอามันไปแล้ว