<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font size="-1"><font face="Tahoma">Здравствуйте.<br>
</font></font><br>
Не удается разобраться с поведением директивы error_page.<br>
<br>
Имеется nginx (0.8.55), проксирующий запросы на php-fpm.<br>
Требуется выдавать заданный файл в случае ошибок 50x при выполнении
php-запросов.<br>
<br>
Проблема в том, что директива error_page игнорируется, если php-fpm
выдает ответ при выполнении скрипта, устанавливающего header со
статусом 500:<br>
<?php<br>
header('Status: 500',true,500);<br>
<br>
Вариант header('HTTP/1.1 500 Internal Server Error',true,500) так же
не приводит к желаемому результату.<br>
<br>
Если же php-fpm просто выключить, то error_page отрабатывает как
нужно.<br>
<br>
В чем может быть подвох?<br>
<br>
В конфиге прописано следующим образом:<br>
<br>
location = /500.html {<br>
root html;<br>
}<br>
<br>
location ~ \.php$ {<br>
fastcgi_pass localhst;<br>
fastcgi_index index.php;<br>
include fastcgi_params;<br>
fastcgi_param SCRIPT_FILENAME
/wwwroot/test/public$fastcgi_script_name;<br>
error_page 500 501 502 503 = /500.html;<br>
}<br>
<br>
<br>
Valentin
</body>
</html>