0

我制作了一个自定义 404 页面并插入到我的 htaccess 文件中:

ErrorDocument 404 /404.php

每当我测试没有扩展名或 .html 扩展名的 url 时,错误直接工作正常。但是,当我输入带有 .php 扩展名的 url 时,会出现一个空白页面,其中显示“未指定输入文件”消息。弹出。

我必须做什么才能让我的自定义 404 页面也弹出 .php 文件扩展名?

4

2 回答 2

2

当 PHPCGI Binary在您的服务器中编译为 a 时会发生这种情况。在这种情况下,即使您apache定义了 404,对 PHP 的请求也会传递CGI binary给当未找到要处理的文件时,会出现此错误 ( No input file specified)。

此问题的解决方案将根据各种其他配置参数而有所不同,但基本上您应该尝试做的是首先检查 URL,如果它不存在,则将其转换为非 php url,以便规则生效并显示正确的 404。

未经测试,但内容如下:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^.+\.php$ /non_existant_file
于 2013-04-17T18:09:26.260 回答
1

你需要设置目录

RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php

如果您的本地人喜欢这样

RewriteEngine on
ErrorDocument 404 directory/404.php
于 2013-04-17T18:00:35.437 回答