【问题标题】:Apache / PHP Disable Cookies for Subdomain?Apache / PHP 禁用子域的 Cookie?
【发布时间】:2010-11-13 01:02:26
【问题描述】:

我正在尝试关注these guidelines 以加快我的页面加载速度。

我创建了一个静态子域来加载静态内容,但是它建议我不要在这个子域上发送 cookie,关于如何在 Apache/PHP 中执行此操作有什么想法吗?

我四处寻找,但一无所获。

【问题讨论】:

标签: php apache cookies


【解决方案1】:

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

从评论中更新。

如果您看到一个“请求”cookie 标头指向您不想拥有 cookie 的子域,请清除您的 cookie 并查看服务器是否曾经在响应标头中发送 cookie 标头。如果是这样,则可能是您启用了 session.auto_start,或者您有一个设置 cookie 的脚本。

您可以使用 Firebug 和 Google Page Speed 之类的工具检查请求和响应标头。

【讨论】:

  • 感谢您的帮助,我认为 cookie 已设置为 google page speed firebug 插件正在将静态子域中的 css 文件、图像等识别为具有 cookie 并使用该工具我实际上可以看到一些文件的 cookie 字段中的数据。有没有办法可以检查是否明确设置了 cookie?此外,cookie 中的数据看起来像是包含来自主要 www 站点、phpsession id 等的数据。
  • 如果您使用 Firebug 的“网络”功能,然后手动浏览到这些页面,您将能够看到这些文件的请求/响应标头,如果某些东西设置了 cookie。
  • 请求标头下似乎有 cookie 数据,但响应标头下什么都没有,有什么想法吗?
  • 如果仅在请求标头下,请清除您的 cookie,然后 Google Page 不应再发出该警告。基本上,您正在尝试将 cookie 发送到文件,但它们并没有尝试设置任何内容。所以清除 cookie,然后检查响应。
  • 谢谢你,设法弄清楚它实际上是谷歌分析,所以我发现了如何将它限制在一个域中并且它现在可以工作,我认为这可能会导致另一个问题,我'将在稍微不同的区域重新发布。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-13
    • 2014-09-01
    • 1970-01-01
    • 2015-07-04
    • 2010-09-18
    • 2019-03-26
    • 2016-06-30
    相关资源
    最近更新 更多