我有一个PHP登录,一旦有人登录就会设置2个cookie。问题是,如果您从http://www.example.com登录并转到http://example.com,您将发现自己没有登录。我认为这是因为浏览器只将cookie发送到第一种语法。
只有一个域,不同之处在于域名之前的www.
,那么无论是否www.
,如何将Cookie设置为整个域?
<?php setcookie('username',$username,time()+3600); ?>
答案 0 :(得分:8)
setcookie(string $ name [,string $ value [,int $ expire = 0 [,string $ path [,string $ domain]
使用$ domain ='。site.com'代替'www.site.com'
答案 1 :(得分:6)
没有理由同时使用www和非www域。使用301重定向将所有内容发送到您选择的一个。我更喜欢非www,因为它更短。以下是如何使用htaccess进行重定向
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]