【发布时间】:2015-11-16 13:15:04
【问题描述】:
关于无 Cookie 域的两个问题(我已经阅读了十几篇关于无 Cookie 域的帖子,但有些答案似乎相互矛盾)。
我正在设置我的网站以提供来自无 Cookie 域的静态内容 - 使用子域和 .htaccess。我的页面有很多缩略图,我不希望每个图像请求都发送 cookie 信息。
在 htaccess 中,我有一个重写规则,它将我的所有流量定向到 www 域
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
我创建了一个 CNAME 记录 static.example.com 并将其指向 www.example.com。
我的图像请求现在指向 static.example.com,在 Firebug 中我正在查看 Net 选项卡。请求头显示 PHP Session Cookie PHPSESSID=....,响应头显示没有 Cookie。
第一个问题:
请求标头中有会话 cookie 是不可避免的,还是我也应该尝试摆脱它?所有请求都来自一个公共目录(及其子目录)。我应该做这样的事情吗?
RequestHeader unset Cookie
Header unset Cookie
Header unset Set-Cookie
更新我尝试将其放在 jpg 文件目录中的 .htaccess 中 - 但提供的图像没有阻止标题
第二个问题:
另外,我是否需要明确设置所有 cookie 的域属性? Docs 表示如果未指定域,则使用当前域作为默认域。我当前的域应该始终是 www,对吧?但是回复my last post,有人说
您需要为 www.example.com 明确设置所有 cookie,以便 它们不会在子域之间共享
查看我的 www.example.com cookie(在 firfox 中)设置时未指定域,它将“主机”显示为 www.example.com,但将“站点”显示为 example.com。它没有明确说明“域”是什么,并且这些 cookie 没有包含在来自 static.example.com 的请求中。
感谢您的帮助。 (如果我应该发布两个单独的帖子,请告诉我)
【问题讨论】:
标签: php .htaccess cookies static-content