猿问

如何在PHP中创建错误404?

我的.htaccess将所有请求重定向/word_here到/page.php?name=word_here。然后,PHP脚本检查请求的页面是否在其页面数组中。


如果没有,如何模拟错误404?我试过了,但是并没有导致我的404页面ErrorDocument在.htaccess出现时通过配置。


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

我是否认为重定向到错误404页面是错误的?


慕容3067478
浏览 467回答 3
3回答

临摹微笑

您正在执行的操作将起作用,并且浏览器将收到404代码。它不会执行的是显示您可能期望的“未找到”页面,例如:未找到在此服务器上找不到请求的URL /test.php。这是因为,当PHP返回404代码时(至少Apache不会),Web服务器不会发送该页面。PHP负责发送自己的所有输出。因此,如果您想要类似的页面,则必须自己发送HTML,例如:<?phpheader($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404);include("notFound.php");?>您可以将Apache放置在httpd.conf中,以将同一页面用于其自己的404消息:ErrorDocument 404 /notFound.php

holdtom

通过.htaccess文件创建自定义错误页面1. 404-找不到页面&nbsp;RewriteEngine On&nbsp;ErrorDocument 404 /404.html2. 500-内部服务器错误RewriteEngine OnErrorDocument 500 /500.html3. 403-禁止RewriteEngine OnErrorDocument 403 /403.html4. 400-错误的请求RewriteEngine OnErrorDocument 400 /400.html5. 401-需要授权RewriteEngine OnErrorDocument 401 /401.html您还可以将所有错误重定向到单个页面。喜欢RewriteEngine OnErrorDocument 404 /404.htmlErrorDocument 500 /404.htmlErrorDocument 403 /404.htmlErrorDocument 400 /404.htmlErrorDocument 401 /401.html
随时随地看视频慕课网APP
我要回答