2008-11-06 21 views
7

Đối với trang web của tôi, tôi đã định cấu hình một số trang lỗi tùy chỉnh. Nếu tôi tạo 404, chuyển hướng hoạt động tốt. Khi nhấn 400, văn bản "yêu cầu không hợp lệ" xuất hiện thay vì URl được định cấu hình.Trang lỗi tùy chỉnh được định cấu hình trong IIS cho mã 400 (yêu cầu không hợp lệ) bị bỏ qua

Khi kiểm tra tôi đã sao chép URL từ 404 đến 400. Không thay đổi. Sau đó, tôi đã thay đổi chuyển hướng thành tệp. Không thay đổi.

Bất kỳ ý tưởng nào?

Trả lời

5

lẽ this là câu trả lời của bạn: trang web của Microsoft này nói tái cấu hình lỗi tùy chỉnh trong IIS6 rằng

Các lỗi sau đây không tùy biến: 400, 403,9, 411, 414, 500, 500,11, 500,14, 500,15, 501, 503, và 505.

+0

Cảm ơn câu trả lời. Mặc dù đó là một câu trả lời tốt, nó defenatly không phải là một sollution: ( –

0

Kiểm tra nội dung trong tệp web.config của bạn trong phần customErrors. Có thuộc tính defaultRedirect và thẻ phụ error với thuộc tính redirect. Chúng có thể xung đột với các thiết lập cấu hình khác của bạn trong IIS.

+0

Tôi đã cấu hình nó giống như trong IIS. Tuy nhiên, nếu trang sẽ không chính xác, tôi sẽ nhận được một 404 là nó không? –

7

tôi đã chạy vào cùng một vấn đề, và thấy điều này trên MSDN http://msdn.microsoft.com/en-us/library/ms690497.aspx

Tôi không chắc chắn nếu điều này sẽ làm việc trên IIS6, nhưng nó chắc chắn hoạt động trên IIS7. Bạn cần phải cấu hình httpErrors, không phải là lỗi tùy chỉnh

<system.webServer> 
     <httpErrors errorMode="Custom"> 
      <error statusCode="400" subStatusCode="-1" path="_path" responseMode="Redirect" /> 
     </httpErrors> 
</system.webServer> 
+0

này không xuất hiện để làm việc trên IIS6 – lathomas64

2

Hãy thử

Response.TrySkipIisCustomErrors = true; 

HOẶC

<configuration> 
    <system.webServer> 
    <httpErrors existingResponse="PassThrough" /> 
    </system.webServer> 
</configuration> 

original post

Các vấn đề liên quan