Trong trường hợp nếu lỗi xảy ra trên trang web của tôi, tôi làm như sau:Cách trả lại trang tùy chỉnh 404 của riêng mình?
Server.Transfer("/error.aspx");
và trang có mã:
protected void Page_Load(object sender, EventArgs e)
{
...
Response.StatusCode = 404;
}
Nếu tôi làm việc trên localhost sau đó cùng với trạng thái 404 trở cho trang, trang hiển thị 'mô tả lỗi thích hợp'.
Khi tôi xuất bản cùng một mã lên internet, tất cả các trang có lỗi vẫn được hiển thị với mã trạng thái 404, nhưng không có nội dung. Thay vào đó, họ có thông báo lỗi 404 chuẩn:
404 - Không tìm thấy tệp hoặc thư mục.
nếu dòng "Response.StatusCode = 404" nhận xét thì trang thích hợp được cung cấp nhưng có 200 mã trạng thái.
Câu hỏi: cách trả lại trang lỗi thân thiện với người dùng trong cùng một thời điểm có mã trạng thái lỗi 404?
Bất kỳ ý tưởng nào đều được hoan nghênh! Cảm ơn rất nhiều trước!
P.S. ASP.NET 4.0
Tôi đã luôn thực hiện các trang 404 tùy chỉnh theo cùng một cách. 1) Chuyển sang trang lỗi 2) bản sao trang thân thiện với người dùng và 404 dưới nắp ca-pô cho rô bốt. Một trang web tôi đang cố thực hiện việc này ngay bây giờ tôi đang gặp vấn đề tương tự - nếu tôi thêm "Response.Status" thì 404 tiêu chuẩn được hiển thị - xóa response.status và bản sao trang xuất hiện nhưng trả về 200 Dự đoán không suy đoán của tôi là một cái gì đó đã thay đổi trong .NET4 framework ... – Jag