404错误404 Error redirect to .php page

yqkkidmi  于 2023-05-16  发布在  PHP
关注(0)|答案(1)|浏览(105)

我做了一个自定义的404.php页面,并试图在. htaccess中正确安装404重定向。

ErrorDocument 400 /400/index.php
ErrorDocument 401 /401/index.php
ErrorDocument 403 /403/index.php
ErrorDocument 404 /404/index.php
ErrorDocument 405 /405/index.php
ErrorDocument 408 /408/index.php
ErrorDocument 414 /414/index.php
ErrorDocument 500 /500/index.php
ErrorDocument 501 /501/index.php
ErrorDocument 502 /502/index.php
ErrorDocument 503 /503/index.php
ErrorDocument 504 /504/index.php

它工作正常,我看到我的404页面,当试图键入不正确的链接。
但是,当我使用不同的网站分析器或SEO检查器时,我看到了未正确安装404页面的相同问题:Not properly installed 404 pageNot properly installed 404 page
404. php页面在<!文档类型>

<?php
header('HTTP/1.1 404 Not Found');
header("Status: 404 Not Found");
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();

我能做错什么?主机技术支持告诉我,一切都是正确的安装在他们的身边,但他们不能帮助搜索引擎优化的问题。先谢谢你了

zzzyeukh

zzzyeukh1#

我刚找到了解决办法。404错误检查器https://websiteadvantage.com.au/404-Error-Handler-Checker的网站给了我这样的结果:
https://i.stack.imgur.com/7JRXC.png
问题是首先重定向一个页面,然后才发送一个

http_response_code(404);

所以我把这个:

function noPageFound($domain) {
        http_response_code(404);
        echo"<html><head><meta http-equiv='Refresh' content='0; ....>"; exit();
    }

并删除了404.php页面中的404响应代码,因为它不是必要的。

<?php
header('HTTP/1.1 404 Not Found');
header("Status: 404 Not Found");
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();

结果很完美。谢谢大家。

相关问题