How to setup a 301 Redirect

How to setup a 301 Redirect

blog
The “301 Permanent Redirect” is the most efficient and search engine friendly
method for redirecting websites. You can use it in several situations,
including:

1: to redirect an old website to a new address
2: to setup several domains pointing to one website
3: to enforce only one version of your website (www. or no-www)
4: to harmonize a URL structure change
There are several ways to setup a 301 Redirect, below I will cover the most used ones:

PHP Single Page Redirect
In order to redirect a static page to a new address simply enter the code
below inside the index.php file.

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.com/page.html");
exit();
?>

PHP Canonical Redirect
The Canonical 301 Redirect will add (or remove) the www. prefixes to all the
pages inside your domain. The code below redirects the visitors of the http://domain.com
version to http://www.domain.com.

<?php
if (substr($_SERVER['HTTP_HOST'],0,3) != 'www') {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.'.$_SERVER['HTTP_HOST']
.$_SERVER['REQUEST_URI']);
}
?>

Apache .htaccess Singe Page Redirect
In order to use this method you will need to create a file named .htaccess
(not supported by Windows-based hosting) and place it on the root directory of
your website, then just add the code below to the file.

Redirect 301 /old/oldpage.htm /new/http://www.domain.com/newpage.htm


Apache .htaccess Canonical Redirect
Follow the same steps as before but insert the code below instead (it will
redirect all the visitors accessing http://domain.com to http://www.domain.com)

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

ASP Single Page Redirect
This redirect method is used with the Active Server Pages platform.

<%
Response.Status="301 Moved Permanently"
Response.AddHeader='Location','http://www.new-url.com/'
%>

ASP Canonical Redirect
The Canonical Redirect with ASP must be located in a script that is executed in
every page on the server before the page content starts.

<%
If InStr(Request.ServerVariables("SERVER_NAME"),"www") = 0 Then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www."
& Request.ServerVariables("HTTP_HOST")
& Request.ServerVariables("SCRIPT_NAME")
End if
%>