Apache redirect www.domain.com to domain.com

by Vivek Gite · 3 comments

Q. How do I remove www from all my urls so that search engine can only rank domain.com/ urls under Linux Apache web server?


A. Add following code to your .htaccess or httpd.conf (directory directive) file:

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

If you added directives to httpd.conf, restart Apache:
# service httpd restart

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 3 comments… read them below or add one }

1 Igor 06.03.08 at 12:05 pm

Hi,

can someone pls write me how to have primary apache server through https which will send requests to some local apache through http.

Cheers, Igor

2 MTBVulture 12.22.08 at 10:16 pm

Hi,
I’m in a “extremely incompetent hosting company” situation :) that don’t permit me to use my website without DNS.
Now I’ve put a webserver APACHE on my PC always on with static IP and I’ve forwarded the DNS * and @ to my IP to get the request without www for my website and “redraw” them with WWW.
I have some problems in doing this.
For now I’ve tried this:

$server = $_SERVER['SERVER_NAME']; header(‘Location: http://www.‘ . $server);

but doesen’t work with every page (i.e. http://website.ext/* for every possible string in *).
Can you suggest me how to fix this problem?
I repeat, I have an apache webserver so I can also modify settings in apache if is not possible to do this only with PHP.
Thanks so much.
PS: It can be better if this fix works independent by domain name, so I can help people with same problem.
For knowing, the hosting company is TopHost.it
I remember you that my website is hosted OUTSIDE my pc! SO I need only a REDIRECT

3 Steve Dalton 01.31.10 at 11:33 am

This worked for me, but after the redirect I get an extra slash on the end of the URL. eg.

http://www.domain.com -> http://domain.com//
http://www.domain.com/apage.html -> http://domain.com//apage.html

That works fine – but looks odd.

Also – any hints on getting this going for https (as well as http) too?

ie. https://www.domain.com -> https://domain.com

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous FAQ:

Next FAQ:

nixCraft FAQ PDF Collection Now Available To All