How Do I Implement a 301 Redirect under various platform ?

 

  • .htaccess redirect
  • PHP redirect
  • ASP redirect
  • ASP .NET redirect
  • Windows redirect (IIS)
  • web.config redirects
  • ColdFusion redirect
  • Canonical redirect in .htaccess
  • Canonical redirect in IIS 7

 

301redirect is considered to be one of the best and most importantly search engine friendly way to redirect any particular web page. In a situation if you have changed the domain name of your website or may have changed the file names of a web page, then at that time it is necessary for you to enable those visitors to access a newly created URL or domain name, even the search engine spiders should be directed to newly created location which can be made possible through 301 Redirect. Even some of you may be concern about its ranking factor but don’t worry 301 redirect take care of all those stuff so is, it is considered to be most search engine friendly method of redirection. The code “301” is interpreted as a “moved permanently”.

Let us learn how to carry on redirection under various platform :

.htaccess 301 Redirect

Normally when you are using Linux based hosting server than you may very well aware of .htaccess file, Incase If the .htaccess file does not exist, create a new file with no trailing extension after the ".htaccess" using a plain text editor (Remember to put the period at the beginning of the file name!). For a Mac, we recommend BBEdit; for Windows, TextPad. Upload it to the root directory of your old web site. Usually that's in /public_html or /www on your server. *Note: your web server must be a Linux system and have Apache mod_rewrite module enabled.

Add the following to your .htaccess file:

Options +FollowSymLinks

RewriteEngine on

RewriteRule (.*) http://www.new-site.com/$1 [R=301,L]

If you decide to change filenames of individual pages of your site, you can redirect the old URLs to the new URLs by using the following line as an example:

redirect 301 /old_page.html http://www.yourdomain.com/abc/new_page.html

PHP Redirect:

<?

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

Header( "Location: http://www.new-domain.com" );

?>

In ASP:

Open the old web page and replace all its content with the following code, replacing "www.new-location.com" with the file name of the new page.

<%@ Language=VBScript %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", "http://www.new-location.com"

%>

In ASP .NET:

<script runat="server">

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = "301 Moved Permanently";

Response.AddHeader("Location","http://www.new-location.com");

}

</script>

In IIS (on a Windows server):

1. In internet services manager, right click on the file or folder you wish to redirect.

2. Select "a redirection to a URL".

3. Enter the redirection page.

4. Check "The exact url entered above", and the "A permanent redirection for this resource".

5. Click "Apply".

web.config 301 redirect

The first example will redirect single pages to a new location. For example, important pages of your site have .htm extensions and you want the new location to be its own directory (IE. http://domain.com/services.htm will change to http://domain.com/services/).

1. Open web.config in the directory where the old pages reside

2. Then add code for the old location path and new destination as follows:

<configuration>

<location path="services.htm">

<system.webServer>

<httpRedirect enabled="true" destination="http://domain.com/services" httpResponseStatus="Permanent" />

</system.webServer>

</location>

<location path="products.htm">

<system.webServer>

<httpRedirect enabled="true" destination="http://domain.com/products" httpResponseStatus="Permanent" />

</system.webServer>

</location>

</configuration>

 

You may add as many location paths as necessary.

The second example will redirect an entire directory to a new location. For example, if you want http://domain.com/olddir/ redirected to http://domain.com/newdir/ open web.config in /olddir and add the following line of code within the <system.webServer> section:

<httpRedirect enabled="true" destination="http://domain.com/newdir" httpResponseStatus="Permanent" />

In ColdFusion:

 

Add the following to the ColdFusion page:

<.cfheader statuscode="301" statustext="Moved permanently">

<.cfheader name="Location" value="http://www.new-site.com">

 

Canonical Issues - Redirecting non-www to www:

 

Some webmasters prefer to redirect domain.com to www.domain.com for search engine optimization purposes. The thought is that some incoming links point to their non-www domain and some point to the www domain. So if the domains are consolidated, incoming links are as well. Webmasters who use this redirect usually see instances of search engine rankings with and without the www in their listings and want to consolidate their efforts.

Canonical Redirect using .htaccess

Add the following four lines to your .htaccess file, replacing 'domain.com' with your site's domain. Remember, you need to be hosted on a Linux server with the Apache Mod-rewrite module enabled.

Options +FollowSymlinks

RewriteEngine on

rewritecond %{http_host} ^domain.com [nc]

rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

Canonical Redirect using IIS 7.0

For this to work, you need to download and enable the URL Rewrite module for IIS 7. Then the following code is used in the ASP.NET web.config file:

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="Redirect to WWW" stopProcessing="true">

<match url=".*" />

<conditions>

<add input="{HTTP_HOST}" pattern="^domain.com$" />

</conditions>

<action type="Redirect" url="http://www.domain.com/{R:0}"

redirectType="Permanent" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

Hope these can help you to carry on the 301 redirection process as an ease.

No comments:

Powered by Blogger.