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

I have this 404 redirection in my .htaccess file :

ErrorDocument 404 /404.php

It works fine when I try to access a page that doesn't really exist on my server.

The problem is that when I return my own HTTP 404 status in a page that really exists on the server, it doesn't redirect me to the 404.php page, but the browser displays a standard 404 error.

I return my own HTTP 404 status when I have a wrong url parameter for example.

Can you help me to define the rule in the .htaccess file, please?

in your .htaccess file you should have this rule

RewriteEngine On
ErrorDocument 404 /404.php

and if you want to simulate this error in anyplace other than typing it manually in the header you should use http_response_code

PHP code

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