Tôi đã có ứng dụng Spring MVC được phục vụ trong Tomcat. Khi người dùng nhập vào một trang mà không được tìm thấy, nó sẽ hiển thị trang mặc định 404 của tôi, như quy định trong web.xmlCách đặt trang 404 tùy chỉnh là chuyển tiếp, không phải chuyển hướng trong Tomcat
<error-page>
<error-code>404</error-code>
<location>/errors/404/</location>
</error-page>
Vấn đề là nếu người dùng đi vào http://mydomain/bad/url
nó được chuyển hướng đến http://mydomain/errors/404/
Điều này gây phiền toái, bởi vì nếu người dùng nhập sai URL thật khó để xem lỗi đó là gì và sửa lỗi đó.
Sau lỗi 404, tôi muốn giữ URL gốc nhưng hiển thị trang lỗi. (ví dụ: chuyển tiếp, không phải chuyển hướng). Đó là ấn tượng của tôi về cách hầu hết các máy chủ web hoạt động. Điều này có thể không?
Nếu mục tiêu của bạn là nhận URL ban đầu gây ra 404, wont req.getAttribute ("javax.servlet.error.request_uri") phù hợp với bạn? – JoseK
Mẹo hay - không biết về điều đó. Nhưng mục tiêu của tôi là thân thiện với người dùng. Tôi muốn URL duy trì ở giá trị xấu để người dùng có thể xem, nhưng phân phối trang lỗi. –
bạn sẽ tự trả lời và đóng câu hỏi? Trân trọng. – mschonaker