THE 301 REDIRECT: POPULAR TEMPLATES

Each SEO specialist faces necessity of using the 301 redirect which becomes important if you are going to change URLs of your pages, remove duplicate content, redirect users to another domain, and so on. You can find the most popular patterns of the 301 redirect in this article.

Since Apache is the most widespread web server, all templates listed in this article will concern it. To be more specific, templates should be prescribed in a root file .htaccess. Make sure that the module mod_rewrite (a file httpd.conf) is connected to Apache before using of the 301 redirects sample.

To use 301 redirect, first you need to specify directives necessary for operation of the module mod_rewrite in the first few lines of .htaccess file:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

Let`s consider rules of typical forwarding.

Redirect from an address with www-prefix to an address without www

To redirect all pages with www (http://www.site.com.ua/page.html) to pages without www (http://site.com.ua/page.html), use the following template:

RewriteCond %{HTTP_HOST} ^www.site.com.ua$ [NC]
RewriteRule^(.*)$ http://site.com.ua/$1 [R=301,L]

Or a simplified version:

RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Redirect from an address without www to an address with www

You can 301 from pages without www (http://site.com.ua/page.html) to pages with www (http://www.site.com.ua/page.html) in almost the similar way as in the previous example. Just change the position of www:

RewriteCond %{HTTP_HOST} ^site.com.ua$ [NC]
RewriteRule^(.*)$ http://www.site.com.ua/$1 [R=301,L]

Or an alternative simplified variant:

RewriteCond %{HTTP_HOST} !^www.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

It is also worth mentioning that sometimes the rules work even if dots are not screened with a backslash, but don`t abuse it, because this can lead to errors at some servers.

Redirect from an index page to a site root

This type of redirect often causes problems if you use CMS, which redirects all site requests to an index page. Adding directives to .htaccess file will lead to a cycle of endless redirects. The easiest way is to insert a small snippet to the top of an index page (egindex.php):

if($_SERVER[‘REQUEST_URI’] ==  ‘/index.php’) {
header(“Location: /”,TRUE,301);
exit();
}

Thus, addresses are compared while requesting an index page, and if the requested address is, for example, http://site.ua/index.php, then the condition is triggered and redirection to a root of the site http://site.ua/ is performed. If a site doesn’t redirect all requests to index.php, you can use the following template for mod_rewrite:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://site.com.ua/ [R=301,L]

The same redirect can be used for other extensions of the main page as well, such as index.html, or, for example, index.phtml.

Redirect from a subdomain to a subfolder

This kind of 301 redirect is needed to redirect multiple similar pages from a sub-domain to new addresses which have a certain pattern. This problem often arises, for example, when some language versions of a site are available on a subdomain and in a subfolder of your main domain.

For example, you have a page with an address http://eng.site.com.ua/page.html and we need to redirect it to a duplicated page http://site.com.ua/eng/page.html. We use the following template (a file prescribed for .htaccess is a subdomain) for this purpose:

RewriteCond %{HTTP_HOST} ^www.eng.site.com.ua [OR]
RewriteCond %{HTTP_HOST} ^eng.site.com.ua
RewriteRule^(.*)$ http://www.site.com.ua/eng/$1 [L,R=301
]

Redirect from a domain subfolder to a subdomain

If it is necessary to redirect a user from a subfolder to a subdomain, use the following template:

RewriteCond %{HTTP_HOST} ^site.com.ua$ [NC] RewriteRule ^/eng/(.*)$ http://eng.site.com.ua/$1 [R=301,L]

Redirect from one file extensions to other

When you change an engine or while changing a static version of a site to dynamic, you should leave pages available by old addresses. For this purpose it is necessary to redirect old addresses of pages to pages with new extension.

RewriteRule^(.*).html$ $1.php [R=301,L]

Redirect to another site

While creating a new site, it is sometimes necessary to make it as a basic mirror, redirecting users from an old domain to a new one. You may use a template below:

RewriteCond %{HTTP_HOST} ^oldsite.com.ua
RewriteRule^(.*)$ http://newsite.com.ua/$1 [R=301,L]

All pages of an old domain will be redirected to corresponding pages of a new one.

301 redirect of dynamic pages

When upgrading a dynamic site and creating CNC addresses a need to redirect old pages with the ID parameters to a new CNC often appears. For example, to redirect a page from http://site.com.ua/page.php?id=13 to a new page http://site.com.ua/newname.html, use the following structure:

RewriteCond %{QUERY_STRING} ^id=13$ RewriteRule ^/page.php$ http://site.com.ua/newname.html [L,R=301]

Redirects of Cyrillic and RF domains

All of the rules above are valid for domains written in Cyrillic. However, if you create a redirect it is better to replace Cyrillic domains with so-called Punycode. You can use one of online converting services by WhiteWhois.

The obtained encoded domain name can be easily applied to any template of the 301 redirect, as described above.

Despite the abundance of different templates and ready-made solutions, the best solution independent exploration of mod_rewrite syntax principles and its directives. Understanding basic structures allows you to easily write redirects yourself, as well as read and correct the existing .htaccess files.

Share on Facebook0Tweet about this on Twitter0Share on Google+0Pin on Pinterest0

Recent posts

facebook-signup

Facebook Trends for 2016

February 9, 2016

If you haven’t started advertising on Facebook we highly recommend to consider this idea. According to Alexa Ranking the website is stated to be the second world’s most visited after Google. It is also known as the largest social network with more than 1 billion users and broad options to target the right audience to Continue reading >

cover January

January Round-Up: SEO, Content Marketing and Personalization

February 8, 2016

This release of our monthly round-up will be concentrated on SEO and the key trends discussed by all the digital marketing opinion-makers. As it is seen from our December round-up, the main issues to pay attention to in 2016 are mobile technologies, personalization and content strategies. What is new? A cross-channel marketing approach, location-based advertising Continue reading >

200H

Top 10 + 1 Digital Marketing Events of 2016

January 21, 2016

As announced in our previous material, today we are going to share with you the top-10 + 1 digital marketing events of 2016. Why +1? Because all but one the event we collected are in the USA, and Webit.Festival is the only large event out of the USA – in Europe (Sofia, Bulgaria). We also Continue reading >

ecommerce conferences

Top 10 eCommerce Conferences for Online Retailers to Visit in 2016

January 15, 2016

In our world of high speeds and Big Data the most important thing is interpersonal communication and networking. That is why we collected these opportunities for you not just to get new knowledge and experience, but what is more valuable, to get new business links and partners. Below is the list of 10 major ecommerce Continue reading >

Show all posts