Apache redirect www.domain.com to domain.com

Posted on in Categories , , last updated May 12, 2008

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

5 comment

  1. 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. 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. Hey there. I just created this script. it is independent of domain (will work on any domain)

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

Leave a Comment