Permanent (301) and Temporary (302) Redirection Using PHP

Redirection is the method of forwarding users to a new domain or URL when they
try to reach the old one.


Suppose my friend Ralph had once created a website at:


ralphhaynes.com


and after sometime created yet another website on the sub domain:


blog.ralphhaynes.com


Now he wants to have his blog (second website) on a new separate domain name.
Since he already has lots of readers who visit the old URL, he has to find some
way to let them know the new URL. The easiest way yet the most effective would
be to use Redirection.


Actually, there are two types of redirection, permanent and temporary. In the
above case when Ralph wanted to permanently move to a new domain he should use
Permanent Redirection. In some other cases when webmasters have to move from,
say a domain to a sub domain due to some temporary problems they could use Temporary
Redirection.


301 Permanent Redirection


‘301’ here is the HTTP response code sent by the server to the
client. Server sends HTTP codes for each request received from the client. These
codes reflect the type of response received from the server. Some other codes
sent are 200(OK), 404 (Not Found), 50x (Sever Problems etc.


When redirected in this manner many web applications such as browsers (Bookmarks
actually), Search Engines etc. Update their data to have the new domain instead
of the old one. Thus Permanent Redirection is also a way to tell these application
especially Search Engines that a particular site has moved to a new address.


The following PHP code can be used to do this:



<?php

// 301 Permanent Redirection Using PHP Script

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://example.com/");



exit;

?>


Put this script as ‘index.php’ on the root of the old domain. Be
sure to change ‘http://example.com/’ to whatever you’d like
to redirect to.


302 Temporary Redirection


First off, Temporary doesn’t mean that the redirection would stop automatically
or anything; in fact you can use a Temporary Redirection forever, it just means
that you plan to redirect for a short period of time and therefore browsers
and Search Engines do not need to make any changes to their data.


Use the following code to achieve this:


<?php

// 302 Temporary Redirection Using PHP Script


header("Location: http://example.com/");




exit;

?>



Again don’t forget to change ‘http://example.com/’.


One thing to note here is, there is no difference in how user would get redirected
in the two types of redirections. In both the cases user will reach the new
URL, difference is for how long you’ve planned to do so. If you’ve
permanently moved to a new URL and use 301 redirection, address in browsers,
search engines etc. will change and eventually there would be no trace of the
old URL.


Previous Articles:


Check out this stream