Сервер Apache настроен так, что
запросы на example.com отображаются как
www.example.com в клиентском браузере
адресная строка, если это связано с
вопрос?
Я не уверен на 100%, но это похоже на корень проблемы. Как Apache заставляет клиентский браузер отображать www.example.com вместо example.com? Скорее всего, перенаправив каждый запрос для example.com на www.example.com. Когда браузер обрабатывает перенаправление, он отправляет запрос на www.example.com и с этого момента считает, что работает с www.example.com.
Теперь, что происходит, когда в заголовке ответа есть Set-Cookie? Это, очевидно, будет восприниматься как www.example.com. Нет никакого способа, которым браузер позволил бы такому cookie установить свой домен в .example.com, потому что это было бы проблемой безопасности. Представьте, что mysite.somefreehosting.com устанавливает cookie для домена .somefreehosting.com. Тогда someothersite.somefreehosting.com получит этот cookie, что может привести к большим проблемам. Стандарт определяет, что такие куки должны быть отклонены, но я не удивлюсь, если некоторые браузеры достаточно умны, чтобы обрабатывать такие случаи и рассматривать .example.com как www.example.com.
Конечно, я рекомендую вам проверить, что именно ваш сайт отправляет в браузер, отправив запрос с чем-то вроде скрипта lwp-request. Вы увидите, какие перенаправления происходят и какие заголовки на самом деле установлены в ответе, например:
alqualos@ubuntu:~$ lwp-request -sSed http://google.com/
GET http://google.com/ --> 301 Moved Permanently
GET http://www.google.com/ --> 302 Found
GET http://www.google.co.il/ --> 200 OK
Cache-Control: private, max-age=0
Connection: close
Date: Sat, 18 Dec 2010 18:54:57 GMT
Server: gws
Content-Type: text/html; charset=windows-1255
Content-Type: text/html; charset=windows-1255
Expires: -1
Client-Date: Sat, 18 Dec 2010 18:54:57 GMT
Client-Peer: 173.194.37.104:80
Client-Response-Num: 1
Set-Cookie: PREF=ID=368e9cfd56643257:FF=0:TM=1292698497:LM=1292698497:S=s-Jur84NgaNH5Mzx;
expires=Mon, 17-Dec-2012 18:54:57 GMT; path=/; domain=.google.co.il
Set-Cookie: NID=42=bZ6goDV_b2MiWlTMONwiijaON5U_TBGB2_yNheonEwA1GVLU77EhyfUhk9Wvj70xTFrpvGy4s_aBp1UZtvRRnsnYjacjz_UVx0_iSr9R3nYXMyRtwkS5qV98_Egb16pZ;
expires=Sun, 19-Jun-2011 18:54:57 GMT; path=/; domain=.google.co.il; HttpOnly
Title: Google
X-XSS-Protection: 1; mode=block