我有个网站。如果我登录到此格式的http://example.com域,然后将我的地址更改为http://www.example.com,我发现我的帐户未登录。如果我将地址更改为http://example.com,我发现我的帐户已登录。
我联系了我的主人,他们告诉我这是一个编程问题。
我如何解决这个问题,使两个地址代表相同的访问/会话/cookie?
我正在使用PHP和MySQL
发布于 2011-11-10 16:43:51
显然,就浏览器而言,www.example.com
和example.com
是两个不同的域,尽管它们都指向同一个站点。如果你把一个不同的域名放在那里,比如example.net
,也会发生同样的事情。
为了解决这个问题,通过.htaccess重写URL是比较常见的。决定您更喜欢使用的域名,并在您的.htaccess中添加如下内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
或
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301]
(第一个删除,第二个添加www)
发布于 2011-11-10 16:37:57
如何解决此问题,使两个地址代表相同的访问/会话/cookies?
您必须像这样设置cookie的域路径,以使其在所有子域中都可用:(www是一个子域):
.domain.com
发布于 2011-11-10 17:21:32
这不一样..通常你只需在浏览器中写下example.com就可以进入www.example.com,但是你的浏览器在你的url中添加了WWW..所以从根本上说,它是不一样的。
https://stackoverflow.com/questions/8076742
复制相似问题