PHP header 301 redirect

This used to be on the php.net reference page, but it’s no longer there. So I’ll post it here for reference.

In order for 301 redirects to work properly in PHP with IE (without showing a Page Not Found error), do the following:

header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$url);
header("Connection: close");

12 thoughts on “PHP header 301 redirect

  1. This comment has nothing to do with this particular post.
    I noticed that you have been blogging about Google.
    Guess you should take a look at my two recent posts.
    Cheers

  2. This works well. Is it the proper way to handle a ‘file not found’? For example;

    - user requests download.php?file=abc.doc
    - file abc.doc does not exist
    - download.php sends a 301, redirects to an error page

  3. Because of the gazillion hits every page we make gets, we can save a lot of cpu-time by replacing the double quotes ” with single quotes ‘
    Well, maybe not that much.. :P

  4. Thanks for this, Elliot. Herbert may be right, code optimisation is all about the little things! I implemented this with single quotes and no variable – though of course this would not suit you if you need a dynamic URL.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>