PHP: Making Page Redirects Permanent

PHP: Making Page Redirects Permanent

I was looking for a good way of redirecting a page I had to move and found this from Dylan at WeDefy dot com. Dylan said that HTTP status codes changes the way browsers (and robots) handle redirects, so when using header(Location:) it’s a good idea to set the status code.

<?php
// 301 Moved Permanently
header("Location: /foo.php",TRUE,301);

// 302 Found
header("Location: /foo.php",TRUE,302);
header("Location: /foo.php");

// 303 See Other
header("Location: /foo.php",TRUE,303);

// 307 Temporary Redirect
header("Location: /foo.php",TRUE,307);
?>

I went with the 301 option, but Dylan goes on to say: Browsers typically re-request a 307 page every time, cache a 302 page for the session, and cache a 301 page for longer, or even indefinitely. Search engines typically transfer “page rank” to the new location for 301 redirects, but not for 302, 303 or 307.

If the status code is not specified, header(‘Location:’) defaults to 302.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s