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
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 5 comments… read them below or add one }
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
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
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
Steve: just remove the / before $1
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]