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 ( to pages without www (, use the following template:

RewriteCond %{HTTP_HOST} ^$ [NC]
RewriteRule^(.*)$$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 ( to pages with www ( in almost the similar way as in the previous example. Just change the position of www:

RewriteCond %{HTTP_HOST} ^$ [NC]
RewriteRule^(.*)$$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);

Thus, addresses are compared while requesting an index page, and if the requested address is, for example,, then the condition is triggered and redirection to a root of the site 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$ [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 and we need to redirect it to a duplicated page We use the following template (a file prescribed for .htaccess is a subdomain) for this purpose:

RewriteCond %{HTTP_HOST} ^ [OR]
RewriteCond %{HTTP_HOST} ^
RewriteRule^(.*)$$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} ^$ [NC] RewriteRule ^/eng/(.*)$$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} ^
RewriteRule^(.*)$$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 to a new page, use the following structure:

RewriteCond %{QUERY_STRING} ^id=13$ RewriteRule ^/page.php$ [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 TwitterShare on Google+0Pin on Pinterest0

Recent posts

Top-5 Digital Marketing Experts to Follow

October 13, 2017

We want to devote this post to education and self-development. Our team is ready to share what digital marketing trendsetters we follow to stay updated and get inspired for new projects. No matter whether you own an ecommerce business, manage a marketing team, or work as a digital marketer, you will find something helpful in the Continue reading >

LSI Keywords: Everything You Wanted to Know about Them

October 12, 2017

I haven’t written blog posts for a while. It’s now or never because this evening I’m leaving for Outsource People 2017 in Kyiv. So, the topic I would like to cover today is related to LSI keywords. Do you use them on your website? Because you should. These keywords can help you reach top-10 in Continue reading >

Facebook Canvas: The What, Why, and Who Cares?

October 4, 2017

Are you that person who spends over 4 hours a day on your mobile phone? Some studies show that the U.S. users are spending up to 5 hours every day on their mobile devices. Considering the aforementioned, it is obvious that advertisers are interested in reaching mobile users. Facebook created an interactive post format called Continue reading >

Friday Catch-Up: Banner vs Text Ads

September 29, 2017

Do you know the difference between banner and text ads? It appears that in the world of online advertising this is not so obvious. The choice is getting harder when you want to launch a new PPC campaign. The following explanation is designed to highlight the advantages and disadvantages of banner and text ads to make Continue reading >

Let's get the ball rolling

Please fill in this short form and we will be in touch with you soon

For any questions


+44 (0) 20 313 766 81
+44 7852 537715

The Terrace AT5,
Grantham Street,

+1 347 809 34 86

Las Vegas
723 S Casino
Center BLVD FL 2
NV 89101

start now

Start now