2010-06-09 33 views
5

Nhờ diễn đàn này, tôi đã học được chức năng tiêu đề PHP không thực sự gửi tiêu đề đến máy chủ Apache mà chỉ gửi đến máy khách.Lỗi Apache Lực lượng PHP

Điều tôi muốn làm là tạo lỗi 500 và để Apache hiển thị trang tương ứng của nó. Có cách nào để ép buộc không?

Cảm ơn trước! (và allez Les Bleus!)

+0

Hmm, don 't biết liệu điều này là có thể. Bạn muốn làm điều này cho việc gì và tại thời điểm nào bạn muốn tạo 500? –

+1

Và những người màu xanh mà bạn đang đề cập đến là ai? Họ đang bị thiếu oxy? ;) –

+0

trên thực tế, chúng tôi đã thực hiện một số trang lỗi tùy chỉnh của Apache và tôi đang xóa sạch lỗi xử lý lỗi PHP, để có một trang lỗi duy nhất (trang Apache) ... Tôi sẽ cố gắng viết một chỉ thị .htaccess xấu (hoặc cách tìm hiểu làm điều gì sai về mục đích ...) và về bleus, tôi đoán bạn sẽ nghe nhiều hơn về nó vào ngày 11 tháng 7;) – Rolf

Trả lời

3

Thực hiện chuyển hướng đến một URL gây ra một 500.

Ví dụ một url với một chỉ thị .htaccess không hợp lệ.

+0

cảm ơn, tôi sẽ cố gắng hiện nay ! – Rolf

+1

Tôi cố gắng để đưa vào .htaccess tại file RewriteRule^lỗi \ .php $ /force_error_500.php [NC, R = 500] (force_error_500.php không tồn tại) header ('Location: lỗi. php '); chỉ gây ra một 404 ... Tôi đoán tôi đã bỏ lỡ một điểm: ( – Rolf

+0

Có ... tạo một tệp .htaccess INVALID. Bạn là một người hợp lệ :) – zaf

4

Có một cách để gửi một Lỗi 500 cho trình duyệt, nhưng bạn sẽ phải cung cấp các trang bản thân:

<?php 
header('HTTP/1.1 500 Internal Server Error'); 
echo <<<ERRORTEXT 
The server encountered an unexpected condition which prevented it 
from fulfilling the request. 
ERRORTEXT; 
// also notify server operator, maybe? 
exit; 
?> 
+0

cảm ơn câu trả lời của bạn, nhưng tôi cần phải sử dụng các trang lỗi Apache ... – Rolf

0

Chỉ cần làm một kịch bản cgi bị hỏng:

// Don't include stdio 
int main() { 
    printf("This won't work.\n"); 
    return 0; 
} 
Các vấn đề liên quan