Redirect to 404 page or display 404 message?

前端 未结 2 1926
梦如初夏
梦如初夏 2020-12-10 06:04

I am using a cms, and file-not-found errors can be handled in different ways:

  1. The page will not be redirected, but an error-msg will be displayed as content (u
相关标签:
2条回答
  • 2020-12-10 06:25

    Don't redirect.

    Forget about search engines. If I type a URL in and make a small typo and you redirect me away, then I have to type the whole thing in again.

    The page will not be redirected, but an error-msg will be displayed as content (using the default layout with menu/footer).

    Try to make it clear it is an error page. It shouldn't look too much like a normal page.

    The page will be redirected to error.php (the page looks the same like 1. but the address changed)

    No. Really, really no.

    The page will be redirected to an existing page, e.g. sitemap.php

    There are a few redirect status codes in HTTP, none of them are "Not Found, but you might like this instead".

    0 讨论(0)
  • 2020-12-10 06:30

    If it's not found, then you should issue a 404 page. Doing a redirect causes a 302 code, followed by a '200 OK', implying that there IS some content. A 404 flat out says "there is no file. stop bugging me".

    Something like this would present a 404 page with proper header code:

    <?php
    if ($page_not_found) {
       header('This is not the page you are looking for', true, 404);
       include('your_404_page.php');
       exit();
    }
    
    0 讨论(0)
提交回复
热议问题