Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is "www.example.com" not the same as "example.com"?

I have a website. If I login in the domain of this format http://example.com and then change my address to http://www.example.com, i find my account is not logged in. If I change the address to http://example.com, I find my account is logged in.

I contacted my host, they told me its a programming issue.

How can i solve this issue so both addresses represent same access/session/cookies?

I'm using PHP & MySQL

like image 878
user311509 Avatar asked Nov 10 '11 08:11

user311509


2 Answers

www.example.com and example.com are two different domains as far as the browser is concerned, apparently, even though they both direct to the same site. Same would happen if you parked a different domain there, say, example.net.

In order to solve the issue, it is rather common to rewrite the URL via .htaccess. Decide upon which domain name you prefer to use and add something like this to your .htaccess:

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

or

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

(the first one removes, the second one adds the www)

like image 121
mingos Avatar answered Oct 30 '22 18:10

mingos


How can i solve this issue so both addresses represent same access/session/cookies?

You have to set the domain path of your cookie like this to make it available on all subdomains: (www is a subdomain):

.domain.com

like image 43
alexn Avatar answered Oct 30 '22 19:10

alexn