Пользовательское сообщение 404 при использовании PHP-FPM с Apache

У меня Apache (2.2.22 на Debian), настроенный для обработки файлов PHP через FastCGI:

<FilesMatch «. +. Php $»>

Приложение SetHandler / x-httpd-php

</ FilesMatch>

Приложение действия / виртуальный псевдоним x-httpd-php / fcgi-bin / php5-fpm

/ fcgi-bin / php5-fpm / fcgi-bin-php5-fpm FastCgiExternalServer

/ fcgi-bin-php5-fpm -socket /var/run/php5-fpm.sock -idle-timeout 600
-pass-header Авторизация

Чтобы показать пользовательскую страницу «Файл не найден» (HTTP 404), настроен в Apache следующим образом:

<Каталог «/ home / http / domain / root»>

..

ErrorDocument 404 /pagenotfound.htm

..

</ Directory>

Запросы для несуществующие не-PHP файлы отвечают пользовательским файлом 404 pagenotfound.htm. Нет проблем.

Но запросы на несуществующие файлы PHP отвечают с http-status-header-заголовком «HTTP / 1.1 404 Not Found» и содержимым «File not found.», так что это не моя пользовательская страница с ошибкой. Проблема!

Журнал ошибок Apache показывает (в последнем случае):

[Сб 21 ноября 14:03:07 2015] [ошибка] [клиент xx.xxx.xx.xx] FastCGI: сервер «/ fcgi-bin-php5-fpm» stderr: основной сценарий неизвестен

Как настроить пользовательскую страницу 404 для несуществующих файлов PHP при использовании PHP-FPM?

4

Решение

установите «ProxyErrorOverride on» в конфигурации вашего глобального сервера или на отдельных виртуальных хостах, см. http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxyerroroverride

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]