Skip to main content

Redirect Non-www to www and vice versa | Non www to www | www to Non-www

You have a website say example.com, you want it only to be accessed by www.example.com, instead of both example.com & www.example.com or you may want your domain to be only accessed by example.com instead of both example.com & www.example.com.

What is www and why should I redirect to my preferred domain? 

Well here's the answer: Www is actually a subdomain of your domain. www actually refers to [world wide web] hmm! well than why redirect? The best answer is both the domains might have same content i.e. yourdomain.com and www.yourdomain.com, and its not very good to the search engine bots.

What should I choose? www or non-www domain?

This is completly depended upon you and the name of your domain. Sometimes domains are quite good without www for example https://letsencrypt.org.
The domain with or without www does'nt effects search engine optimization (SEO).

1. Redirect your website from non-www to www  i.e. example.com to www.example.com

Configure your nginx server in this way:
Just add this at starting of your site config file which is generally located at: /etc/nginx/sites-enabled/yourdomain.com

server {
listen 80;
server_name yourdomain.com;
return 301 http://www.yourdomain.com$request_uri;
}

Change `yourdomain.com`  with your domain.
This code returns a 301 Redirect to the clients browser and forces to load content from `www` version of your website

If you are using apache2 as your server add the following content to .htaccess file on root of your project. We will use Rewrite Engine Module of apache2 for doing this.
Note: if you don't have .htaccess file, create one!

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

2. Redirect your website from www to non-www  i.e. www.example.com to example.com

Configure your nginx server in this way:
Just add this at starting of your site config file which is generally located at: /etc/nginx/sites-enabled/yourdomain.com

server {
listen 80;
server_name www.yourdomain.com;
return 301 http://yourdomain.com$request_uri;
}

Change `yourdomain.com`  with your domain.
This configuration will make the client redirect to non-www version of website.

For apache2 add this to the .htaccess file in the root of your project/website folder.

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


Thank you for reading this article hope you liked it. Will be back soon with another article.

Comments

Popular posts from this blog

Free Cloud Server | Get A Free Cloud Server | Amazon AWS

Hello Developer | Reader | Creator | Explorer! I was going through cloud servers on Internet, as it becomes very difficult to manage everything on shared hosting. Amazon AWS is one of the providers of cloud services, which has a scheme of pay as you use. Amazon AWS includes a lot many web servirces like, Api Gateway, SNS(Mobile Messaging), S3(Strorage), etc. AWS has almost all those reuirements which a developer would require. And also the best part is Amazon AWS gives 12 months free access to its web services. In this post we will discuss about creating an Account on Amazon AWS and setting up with cloud on EC2 (a service of amazon aws which provides cloud computing). Amazon EC2 cloud computing, that includes a public ip and a free domain(domain would be somthing like ec2-bla-bla.bla-bla.amazonaws.com) Follow these steps to create Amazon Account:- Create a amazon AWS account go here  https://aws.amazon.com/  on top left click on sign in to console. After doing t

Laravel 5.2 Multi Authentication

Today I wasted almost 3 hours to search on internet about Multi Authentication in Laravel 5.2. I have gone though laracast's post and other few forums too, I was still not able to find any solution for it. Their were packages such as sboo/multiauth, ollieread/multiauth, kbweb/multiauth etc. yet was not satisfied with their solutions, I tried to use them a lot but very soon I got stuck with bugs. Finally after a long research I finally found out a great solution for it, i found it on a frequent website I visit for my solution of any coding problems, and the solution was really shocking for me that it required no package installation or any other kinda stuff. It's already included with Laravel 5.2. Thanks to  Hasmukh Tank  a stack overflow user, he made a beautiful step by step procedure to do that. Here are those procedures: Refer Url :  How to use multi Auth in laravel 5.2 1. First we create two models 1 ) user , 2 ) admin 2. Update the config / auth . php fil