Redirect www to non-www in Apache Conf

When you are setting up a website, you will need to decide whether to use the www. subdomain at the start of the URL. It was once the standard but it is getting more common to see websites that do not use it at all. Whichever you decide, the key thing to know is you must remove the other. If someone can access your site under www. and the root domain, you could find you have some SEO difficulties in the form of duplicate content penalties.

If you use Apache, it is a very simple process to set up a redirect that will redirect www to the non-www root domain. The location of your apache conf file will change depending on the webserver that you are using. For apache, it is normally found in /etc/http/conf/http.conf. You will need to check the documentation of your webserver to find out the path if it is not in the location above.

If you do not use a website with ssl, the snippet below is all you need to add to your conf file. This will redirect any user who visits www.mydomain.com to the root domain without the www subdomain.

<VirtualHost *:80>
	ServerName www.mydomain.com
	Redirect permanent / http://mydomain.com/
</VirtualHost>

If you also use https on your website. Modify the snippet above to redirect to the https domain. You will also need to add an additional redirect shown below that will capture requests through the port that is used for https requests.

<VirtualHost *:443>
	ServerName www.yomotherboard.com
	Redirect permanent / https://yomotherboard.com/
</VirtualHost>

And that is it. All of the www requests to your website will not get redirected to the root domain for https and http requests.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.