2010-04-10 29 views
29

Có điều gì giống như chỉ thị ký tự đại diện để bắt tất cả các lỗi có thể và xử lý chúng trong một trang lỗi tùy chỉnh không?Lỗi đơnDocument directive để bắt tất cả các lỗi (.htaccess)

ErrorDocument 404 /error.php?code=404 
ErrorDocument 403 /error.php?code=403 
... 
ErrorDocument NNN /error.php?code=NNN #possible use of RegExp? 

Tôi biết tôi có thể sẽ không xử lý nhiều trang lỗi tùy chỉnh ở đây, nhưng tôi rất tò mò về điều này.

Trả lời

23

Điều đó là không thể. Bạn cần có chỉ thị ErrorDocument cho từng mã trạng thái bạn muốn xử lý khác với trình xử lý lỗi mặc định.

+0

Được rồi, loại hình - Tôi đã thử sử dụng một số "thủ thuật" có thể sử dụng được trên chỉ thị RewriteRule, nhưng chúng chỉ cho 500 lỗi. Cảm ơn bạn đã làm rõ. –

3

Thay vì truyền mã trạng thái lỗi, bạn có thể chọn nó trong tập lệnh của mình thông qua biến môi trường REDIRECT_STATUS (do Apache đặt). Xem: http://httpd.apache.org/docs/2.0/custom-error.html

+3

Điều này không giải quyết được vấn đề liệt kê mọi mã lỗi trong '.htaccess', nhưng hữu ích khi biết – HXCaine

+0

Đây là những gì tôi đang làm và câu hỏi đặt ra cách làm cho việc xử lý dễ dàng hơn trong .htaccess. –

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