ฉันมีแอปพลิเคชั่น ASP.NET MVC พร้อมเส้นทางที่อนุญาตให้ค้นหาสิ่งต่างๆผ่าน / search / <searchterm>
เมื่อฉันจัดหา "search / abc" มันทำงานได้ดี แต่เมื่อฉันใส่ "/ search / a + b + c" (เข้ารหัส url อย่างถูกต้อง) IIS7 จะปฏิเสธคำขอที่มี HTTP Error 404.11 ( โมดูลการกรองคำขอถูกกำหนดค่าให้ปฏิเสธ a คำขอที่มีลำดับการหลีกเลี่ยงคู่ ) เหตุใดจึงทำเช่นนี้ ดูเหมือนว่าจะโยนข้อผิดพลาดหากเป็นส่วนหนึ่งของ URL แต่ไม่ได้เป็นส่วนหนึ่งของสตริงการสืบค้น (/ ส่ง? q = a + b + c ใช้ได้ดี)
ตอนนี้ฉันสามารถเปิดใช้งานการร้องขอการหลบหนีสองครั้งในส่วนความปลอดภัยของ web.config ของฉัน แต่ฉันลังเลที่จะทำเช่นนั้นเนื่องจากฉันไม่เข้าใจผลกระทบและสาเหตุที่เซิร์ฟเวอร์ไม่ปฏิเสธคำขอ "a + b + c" เป็น เป็นส่วนหนึ่งของ URL แต่ยอมรับเป็นส่วนหนึ่งของสตริงข้อความค้นหา
ใครช่วยอธิบายและให้คำแนะนำได้บ้างว่าต้องทำอย่างไร?
/search/a%2520b%2520c
การมาร์กอัปซึ่งนำไปสู่ข้อผิดพลาด " คำขอที่อาจเป็นอันตรายตรวจพบค่าเส้นทางจากไคลเอ็นต์ (%)" ที่น่ารัก ดูเหมือนว่าคุณไม่สามารถชนะได้