Почему куки отправляются только на http://www.example.com, а НЕ http://example.com? - PullRequest
2 голосов
/ 22 марта 2010

У меня есть логин PHP, который устанавливает 2 куки, когда кто-то входит в систему. Проблема в том, что если вы войдете в систему с http://www.example.com и перейдете на http://example.com,, вы обнаружите, что не вошли в систему. Я думаю, это потому, что браузер отправляет куки только с первым синтаксисом.

Это только один домен, разница составляет www. перед доменным именем, так как установить куки для всего домена, независимо от того, есть www. или нет?

<?php setcookie('username',$username,time()+3600); ?>

Ответы [ 2 ]

8 голосов
/ 22 марта 2010

setcookie (строка $ name [, строка $ value [, int $ expire = 0 [, строка $ path [, строка $ domain)

Используйте $ domain = '.site.com' вместо 'www.site.com'

6 голосов
/ 22 марта 2010

Нет никаких причин использовать домены как www, так и non-www. Используйте перенаправление 301, чтобы отправить все на ваш выбор. Я предпочитаю не www, потому что это короче. Вот как сделать перенаправление с htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...