ฉันกำลังพยายามตั้งค่าหน้าแสดงข้อผิดพลาดของลูกค้าบนเซิร์ฟเวอร์ Apache ของเรา ซึ่งดูเหมือนจะตรงไปตรงมา 503 ใช้งานได้ดี แต่ 404 ไม่ทำงาน พวกเขาตั้งค่าเหมือนกัน:
<LocationMatch "/my/uri">
ErrorDocument 503 /errorCustom.html
ErrorDocument 404 /errorCustom.html
</LocationMatch>
แต่เมื่อฉันพบ URL ที่ไม่ดีในไซต์ บันทึกของ Apache ระบุชัดเจนว่าเรียกใช้ 404 ตามที่คาดไว้:
123.123.123.123 [22/Nov/2021:10:15:17 -0500] "GET /my/uri/%2f%20%20has%20moved.%20Please%20go%20to%20www.garbage.com/.%20The %20requested%20URL HTTP/1.1" 404 273 201 my-masked.hostname.com (-) "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/96.0. 4664.45 ซาฟารี/537.36"
แต่เบราว์เซอร์ไม่แสดงหน้า html ข้อผิดพลาดที่กำหนดเอง ... เบราว์เซอร์เพิ่งบอกฉันนี้ ...
ไม่พบ
URL ที่ร้องขอ /my/uri// ถูกย้ายแล้ว
กรุณาไปที่ www.garbage.com/.
ไม่พบ URL ที่ร้องขอบนเซิร์ฟเวอร์นี้
ดังนั้นฉันคิดว่าส่วนที่ "ย้าย" มีความสำคัญในข้อความ แต่ฉันไม่สามารถหาวิธีแก้ไขและทำให้ 404 ErrorDocument ถูกทริกเกอร์ได้ ฉันทำอะไรผิดที่นี่?