为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PHP中创建错误404?

如何在PHP中创建错误404?

PHP
慕容3067478 2019-10-18 10:36:01
我的.htaccess将所有请求重定向/word_here到/page.php?name=word_here。然后,PHP脚本检查请求的页面是否在其页面数组中。如果没有,如何模拟错误404?我试过了,但是并没有导致我的404页面ErrorDocument在.htaccess出现时通过配置。header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");我是否认为重定向到错误404页面是错误的?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您正在执行的操作将起作用,并且浏览器将收到404代码。它不会执行的是显示您可能期望的“未找到”页面,例如:


未找到

在此服务器上找不到请求的URL /test.php。


这是因为,当PHP返回404代码时(至少Apache不会),Web服务器不会发送该页面。PHP负责发送自己的所有输出。因此,如果您想要类似的页面,则必须自己发送HTML,例如:


<?php

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404);

include("notFound.php");

?>

您可以将Apache放置在httpd.conf中,以将同一页面用于其自己的404消息:


ErrorDocument 404 /notFound.php


查看完整回答
反对 回复 2019-10-18
?
holdtom

TA贡献1805条经验 获得超10个赞

通过.htaccess文件创建自定义错误页面


1. 404-找不到页面


 RewriteEngine On

 ErrorDocument 404 /404.html

2. 500-内部服务器错误


RewriteEngine On

ErrorDocument 500 /500.html

3. 403-禁止


RewriteEngine On

ErrorDocument 403 /403.html

4. 400-错误的请求


RewriteEngine On

ErrorDocument 400 /400.html

5. 401-需要授权


RewriteEngine On

ErrorDocument 401 /401.html

您还可以将所有错误重定向到单个页面。喜欢


RewriteEngine On

ErrorDocument 404 /404.html

ErrorDocument 500 /404.html

ErrorDocument 403 /404.html

ErrorDocument 400 /404.html

ErrorDocument 401 /401.html


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 466 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信