当页面确实存在时,如何重定向到404.php?

时间:2018-03-23 21:57:54

标签: php apache url-rewriting http-status-code-404 errordocument

我的.htaccess文件中有404重定向:

ErrorDocument 404 /404.php

当我尝试访问我的服务器上并不存在的页面时,它工作正常。

问题是,当我在服务器上真正存在的页面中返回自己的HTTP 404状态时,它不会将我重定向到404.php页面,但浏览器会显示标准的404错误。 / p>

例如,当我有错误的url参数时,我会返回自己的HTTP 404状态。

您能帮我在.htaccess文件中定义规则吗?

1 个答案:

答案 0 :(得分:1)

在您的.htaccess文件中,您应该拥有此规则

RewriteEngine On
ErrorDocument 404 /404.php

如果你想在任何地方模拟这个错误,除了在标题中手动输入它,你应该使用http_response_code

PHP代码

<?php
    http_response_code(404);
    include('my_404.php'); // provide your own HTML for the error page
    die();