Apache/PHP为子域禁用Cookies?

问题描述:

我正在尝试关注these guidelines以加快我的网页加载速度。Apache/PHP为子域禁用Cookies?

我已经创建了一个静态子域来加载静态内容,但它建议我不要在这个子域发送cookie,关于我如何能够在Apache/PHP中做到这一点的任何想法?

我已经搜索周围,什么也没有提出。

+0

如果您在父域(即可能是裸露的域)上需要cookie,您必须将`domain`属性设置为`null`。否则,你可能会发现[`$ cookie-> setDomain($ domain)`](https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117)有帮助,因为在[这个独立的库]中找到(https://github.com/delight-im/PHP-Cookie)。 – caw 2016-09-21 02:32:45

如果您从未明确设置cookie,则服务器上不会显示cookie。因此,如果您仅将第二个域用作图像或CSS文件的存储库,则很可能不会设置cookie。

更新时间评论。

如果您看到一个'Request'Cookie标头,但您不想拥有Cookie,请清除Cookie并查看服务器是否曾在Response标头中发送Cookie标头。如果确实如此,则可能启用了session.auto_start,或者您有一个用于设置Cookie的脚本。

您可以使用类似Google Page Speed的Firebug来检查请求和响应头。

+0

感谢您的帮助,我认为Cookie设置为谷歌页面速度firebug插件正在从静态子域名中识别出css文件,图像等,因为具有cookie并使用该工具我实际上可以在Cookie字段中看到一些数据文件。有没有一种方法可以检查cookie是否被明确设置? 此外,cookie中的数据看起来像包含主www网站,phpsession ID等的数据。 – stukerr 2009-07-22 15:02:29

您可以在PHP中轻松处理此问题。设置cookie时,需要设置的参数是域参数。通常,这将设置为“.domain.com”,以使其在任何子域中都可用。相反,您可以尝试将其设置为“www.domain.com”以将其限制到该域。查看PHP手册的setcookie() documentation