当前位置: 首页 > 知识库问答 >
问题:

在Apache中使用PHP-FPM时自定义404消息

方长卿
2023-03-14

我将Apache(Debian上的2.2.22)配置为通过FastCGI处理PHP文件:

setHandler应用程序/x-http pd-php

动作应用程序/x-http pd-php /fcgi-bin/php5-fpm虚拟别名

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

/fcgi-bin-php5-fpm-socket/var/run/php5-fpm。sock-空闲超时600-通过标头授权

要显示自定义文件未找到(HTTP 404)页面,在Apache中配置如下:

..

错误文档404/pagenotfound。热媒

..

对不存在的非PHP文件的请求将使用自定义404 pagenotfound进行响应。htm文件。没问题。

但是对不存在的PHP文件的请求会得到http状态头“http/1.1 404 Not Found”和内容“File Not Found”的响应,所以不是我的自定义错误页面。问题

Apache错误日志显示(在后一种情况下):

[Sat Nov 21 14:03:07 2015][error][client xx.xxx.xx.xx]FastCGI:server”/fcgi-bin-php5-fpm“标准:主脚本未知

使用PHP-FPM时,如何为不存在的PHP文件配置自定义404页面?

共有2个答案

池俊茂
2023-03-14

当显示文件未找到,而不是自定义错误页为不存在的. php文件(和所有其他不存在的文件得到正确的自定义错误页)...

Centos 8, PHP 7.2.11 File: /etc/httpd/conf.d/php.conf

在SetHandler之后添加“ProxyErrorOverride On”

<FilesMatch \.(php|phar)$>
    SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
    ProxyErrorOverride On
</FilesMatch>

不确定是否需要,但我接着做了:

    systemctl restart httpd
葛季萌
2023-03-14

在全局服务器配置中或在单个虚拟主机中设置"ProxyErrorOveride on",请参见http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxyerroroverride

 类似资料:
  • 运行Nginx 1.17的Digital Ocean Ubuntu18.04 VPS。10 PHP-FPM7.3。我不知道如何正确运行PHP文件(其他一切都正常运行)php文件生成Nginx的404未找到页面。Nginx错误日志仅显示“信号处理已启动”每次更改后,我都会重新启动nginx fpm。我已经研究了几乎所有与此相关的StackOverflow问题,并尝试了各种不同的配置。如果您能提供任何

  • 首先,我尝试在Debian Jessie(测试)机器上为Apache 2.4、mod_proxy_fcgi和PHP-FPM设置一个基本配置。 打开时一切正常。php文件。 然而,如果我为PHP-FPM激活chroot,我只会得到一个“未找到文件”我的浏览器中的消息 。 apache2的部分内容。形态 /var/ww/html的内容 /etc/php5/fpm/pool.d/www部分内容* ...

  • 我有PHP 5.3.3与PHP-FPM在172.17.0.163:20533运行。我用nginx和cgi-fcgi测试了它: 返回 所以,PHP-FPM正在工作。 不幸的是,Apache 2.4在PHP-FPM方面存在一些问题: 正在打开http://localhost/test。php返回一个“404未找到”错误。非PHP文件正在工作。查看apache错误日志,一切看起来都很好。 似乎mod_p

  • 问题内容: 我已经如下设置了web.xml。我还有一个基于注释的控制器,该控制器可以采用任何URL模式,然后转到相应的jsp(我已在-servlet.xml中进行了设置)。但是,如果转到以.html结尾的页面(并且其jsp不存在),则看不到自定义404页面(并且在日志中看到以下错误)。任何不以.html结尾的页面,我都可以看到自定义404页面。 如何为通过DispatcherServlet的任何页

  • 我正在尝试写一个巨大的excel文件,我的要求允许我写行和忘记,所以我使用SXSSF,它允许只在内存中保留几行,其余的都写到文档中。这有助于克服大文件的outofmemory异常。 但是我还需要使用sxssf工作簿为单元格设置样式。我无法找到在SXSSF中定义和使用自定义颜色的方法(就像在XSSF中,我们可以直接定义自定义颜色,而在HSSF中,我们可以用自定义颜色替换调色板中的一个条目) 我找不到

  • 我的正式服正在运行具有经典结构Db-Container、Server-Container和Php-Fpm容器的Docker。 我想做的是将来源分开,以便为项目的三个主要部分提供不同的容器。现在他们以旧的方式工作,比如mydomain.com/index主网站,mydomain.com/api和mydomain.com/adm其他服务。 如何设置Apache虚拟主机以映射这样的请求? 谢啦