En Fr
Web/database development and more...

Tags: redirections

03/21/07

English (US) How to redirect www.domain.com to domain.com

Permalink 10:54:53 pm, by Francois PLANQUE Email , Categories: HTTP/SSL

Most sites can be reached by two different URLs. For example http://b2evolution.net/about/features.html and http://www.b2evolution.net/about/features.html .

This is good for the users who can choose wether or not to type in the "www." part. However, it is not good for search engines which will tend to see a lot of duplicate contents.

If you are on an Apache webserver, you can use mod_rewrite in order to redirect all traffic that goes to the www.domain to the "non www" domain.

Try adding this to a file named ".htaccess" at the root of your site (create that file if it doesn't exist):

RewriteEngine on
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{HTTP_HOST}   !^your-domain.com [NC]
RewriteRule ^/(.*)         http://your-domain.com/$1 [L,R=301]

Note: More advanced users will prefer to add this to the httpd.conf / apache2.conf instead in order to gain a little efficiency and also to not interfere with tests on development/staging servers.

Explanations

RewriteEngine on activates mod_rewrite.

The first RewriteCond makes sure we have a non(!) empty(^$) hostname to work with.

The second RewriteCond detects that the host name is not(!) the one we want (e-g: it has an extra www. part in it).

The RewriteRule sends out a permanent(301) redirection to the right domain name followed by the currently requested path/page ($1).

Handling multiple domains at once

Below is more elegant (yet complex to read) solution that can handle multiple domains at once (if you have "ServerAlias"es) and that doesn't require to type-in your domain (just copy/paste):

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

The trick here is to use %1 which matches the canonical part of the domain name in the second RewriteCond (.+) .

03/12/07

English (US) Redirecting old posts

Permalink 04:52:49 am, by Francois PLANQUE Email , Categories: b2evolution

One of the cool things you can do with b2evolution 2.0 is redirect older posts to a new URL.

I've put this to use by redirecting some of my first English posts on fplanque.net to fplanque.com.

Here's an example: http://fplanque.net/Blog/devblog/2003/01/21/quote_of_the_day_computers_and_programme

If you click on that link you go straight to France and bounce back immediately to:
http://fplanque.com/dev/dev/computers-programmers-dangerous-match

All that automagically with a nice 301 Permanent redirect! ;)

I have already observed in the past that Page Rank would follow 301 redirects when moving pages on the same site. I'm quite curious to see how moving posts to a different server, heck a different country, will affect the PageRank.

If all goes well, PR should follow... someday ;)

Weblog on development, technology, the Internet, databases, open-source, weblogs and presumably some geeky stuff too... :P

Search

XML Feeds

blogging software