简体   繁体   中英

How can I redirect to 404.php when the page doesn't really exist?

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();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM