Industry guru Dave Taylor answers free tech support questions about a wide variety of business and technical topics, including blogging, Google AdSense, MySpace, Sony PSP, Apple iPod, Mp3 players, management, Linux, SEO, Mac OS X, Facebook, Twitter, LinkedIn and Microsoft Windows.

How do I add a 301 redirect to my Apache httpd.conf?

I just checked and apparently both the "domain.com" and "www.domain.com" work for my site, bringing up the same page with different URLs. According to an SEO buddy of mine, that's a bad thing. Is it? And if so, how can I tweak my web server configuration to fix it?


Dave's Answer:

This is a bad thing, as your friend suggests. The reason? Every URL is considered as a different page on your site according to the search engines, so while you might deserve, say, a combined PageRank on Google of five, it might be that "hostname.com" is a PR3 and "www.hostname.com" is a PR4 when you check.

You can quickly ascertain whether your site has this problem too, by simply entering in both versions of the domain name to your Web browser and checking to see if they stay as you typed them in (bad) or one of them is magically rewritten to be in the other form so that there's a single, consistent URL for both (good).

If you need to tweak this, as I had to on this site recently, you can most easily do so by going into your httpd.conf file and adding the following three lines:

<VirtualHost askdavetaylor.com>
  Redirect 301 / http://www.askdavetaylor.com/
</VirtualHost>

In this instance, I want the form "www.askdavetaylor.com" as the default consolidated domain name format. You can test it: click on this link and watch what URL you actually have in your Web browser by the time you get the home page: http://askdavetaylor.com/.

Depending on your Apache configuration, you might need a more sophisticated version of this too:

<VirtualHost 70.84.11.36>   ServerName askdavetaylor.com
  RewriteEngine on
  RewriteRule ^/(.*) http://www.askdavetaylor.com/$1 [L,R=301]
</VirtualHost>

The difference between the two is that the latter only works if this is the only domain that is assigned the specified IP address, while the former works if you have multiple domains with the same IP address, as I do on my own server.

Also note that while the Apache Rewrite Engine is darn cool and very powerful (I use it for lots of tricks on this site) it's also slow, so engaging it when you don't really need to use it can slow down your Web server. Not a good thing.

Finally, it's important that you use a 301 permanent redirect rather than 302 temporary redirects so as not to get into trouble with Google and other search engines. Google's Matt Cutts has a worthwhile article on this subject if you want to know why this is so: The little 301 that could.

If you want to know more about redirects and error pages, by the way, you might well find the site custom 404 error page amusing and useful.

Thanks to Steve Loyola of Best Book Buys.com and Alek Komarnitsky, who is busy trying to raise money for charity through the weird and wacky V7ndotcom elursrebmem competition, for their assistance with this important server note.



Help others find this article at Del.icio.us, Digg, Netscape, Reddit, and Simpy.

Subscribe!

Never miss another useful Q&A article again! Subscribe to AskDaveTaylor with Google Reader.

Comments

Nice writeup Dave and great explanation of a technical topic that is useful for webmasters.

BTW, I know that Alek guy and he can be pretty wierd and wacky ... he's always up to something entertaining! ;-)

Posted by: Mr. Christmas Lights at March 19, 2006 5:46 PM

Thanks for the information. Can you also mention how to set this redirection up on IIS for those of us paying for hosting with companies that don't use Apache?

Posted by: physio at March 20, 2006 9:16 AM

Physio, that's documented at the http://www.404-error-page.com/ site. Check it out!

Posted by: Dave Taylor at March 20, 2006 9:38 AM

Dave, thanks for your very informative information on yourdomain.com to www.yourdomain.com 301 redirects through modifications to the httpd.conf file. I tested your approach on my server and it works exactly as advertised.

Question: I've been using the following .htaccess file rewrite instruction to accomplish (in theory) the same thing:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.com
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=permanent,L]

Could you commment on the validy of my method versus modifying the httpd.conf file? Do both approaches generate exactly the same end result? Would one be more efficient than the other?

It seems to me that the httpd.conf approach would send a site visitor back to the Web and through all the domain name server lookups a second time to get bach to the www version of the URL. Is this true and would this basically slow everything down versus simply rewriting the address through the .htaccess directive?

Thanks for your thoughts.

Pat Riley

Posted by: Pat Riley at April 7, 2006 9:51 PM

Are you using "former" and "latter" correctly?

Former would be:

Redirect 301 / http://www.askdavetaylor.com/

You say "the former works if you have multiple domains with the same IP address"

I think you've got it reversed.

Posted by: Erik at February 5, 2007 1:52 PM

Just a warning! A cut and paste of Dave Taylor's second bit of code will actually redirect your website to www.askdavetaylor.com :)

Yeah, I know that's obvious. But trust me, it's a bit startling to see type in your domain name and end up at dave's website :). D'Oh!

Posted by: Glenn at April 8, 2008 6:51 PM

I have a lot to say, but ...
Starbucks coffee cup I have a lot to say, and questions of my own for that matter, but most of all I'd like to say thank you for all your efforts on this Web site by buying you a chai!

I do have a comment, now that you mention it!









Remember personal info?


Please note that I will never send you any unsolicited commercial email. Ever.

While I'm at it, please note that by submitting a question or comment you're agreeing to my terms of service, which are: you relinquish any subsequent rights of ownership to your material by submitting it on this site.









Search
Find just the answers you seek from among our 1700+ free tech support articles by using our Lijit search engine.


Help!





Subscribe to
Ask Dave Taylor!

Add to Google Reader
Add to My Yahoo!
Subscribe in NewsGator Online

RDF   XML

Free Updates!
Sign up and get free weekly updates and special offers on books, seminars, workshops and more.


Recent Entries
Join the List!
Join my author info mailing list, where you'll learn about my upcoming books, speaking gigs, and more!


Book Links
© 2002 - 2008 by Dave Taylor. All Rights Reserved.

Note: This web site is for the purpose of disseminating information for educational purposes, free of charge, for the benefit of all visitors. We take great care to provide quality information. However, we do not guarantee, and accept no legal liability whatsoever arising from or connected to, the accuracy, reliability, currency or completeness of any material contained on this web site or on any linked site.

[whiteboard marker tray]