Apache переопределяет 500 ответов кода статуса HTTP - PullRequest
3 голосов
/ 03 ноября 2011

Я использую Apache в качестве прокси-сервера.Когда мое веб-приложение отправляет код ошибки 500 в ответ на вызов AJAX, apache отображает свое собственное внутреннее сообщение об ошибке по умолчанию

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
 you@example.com and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>

Есть ли способ избежать этого, чтобы ответ об ошибке не трансформировалсясервер apache.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2011

У меня была похожая проблема, я использовал код: (PHP)

header("HTTP", true, 500);

вместо

header("HTTP/1.0 500 Internal Server Error");

Первый работал на моем локальном сервере XAMPP, но не на некоторых других серверах, переключаясь на ответ HTTP / 1.0, вместо этого работал на обоих.

0 голосов
/ 03 ноября 2011

Проверьте файл httpd.conf, где Apache хранит ошибки. Затем вы можете tail error.log просмотреть самые последние ошибки или cat error.log просмотреть все ошибки.

Если нет ошибок, vim offending.file.ext, чтобы увидеть, если что-то выглядит неправильно. Может быть конец строки или синтаксические ошибки.

В противном случае я предлагаю показать нам код.

...