Eric Asked: 2010-03-03 10:55:10 +0800 CST2010-03-03 10:55:10 +0800 CST 2010-03-03 10:55:10 +0800 CST 如何强制 Apache 不为子域设置 cookie? 772 我在我的服务器上为静态内容设置了一个特定的子域——images.example.com 我想将 Apache 配置为永远不允许在该域上设置 cookie。但我不确定在哪里/如何做到这一点。请指教 :-) 谢谢! apache-2.2 cookies 2 个回答 Voted Lukas Loesche 2010-03-07T23:41:09+08:002010-03-07T23:41:09+08:00 使用 mod_headers ( http://httpd.apache.org/docs/2.2/mod/mod_headers.html ),您可以操作 Apache 发送给客户端的所有标头。就像是 Header unset Set-Cookie 在您的子域的 VirtualHost 内应该可以解决问题。 cagenut 2010-06-17T12:05:24+08:002010-06-17T12:05:24+08:00 我认为 apache 不能成为这里的执行者。即使是上面的 RequestHeader unset 选项也只会在客户端发送带有 cookie 的请求后才会发生。 谷歌页面速度工具注意到的关键是客户端在请求中发送 cookie。这意味着您在应用程序的某个地方设置了 domain.com cookie(实际上是 *.domain.com)。您只需要在 cookie 代码中小心设置 www.domain.com(或您正在使用的任何子域)。说实话,大多数专业网站最终都会有如此多的第三方小部件和 javascript 和浏览器调用,因此更容易为此放弃您的“主”域并设置一个永远不会设置 cookie 的完整第二个域。你可以看到 facebook 用 fbcdn.net 做到了这一点。Huffingtonpost.com 通过 huffpost.com 做到这一点。
使用 mod_headers ( http://httpd.apache.org/docs/2.2/mod/mod_headers.html ),您可以操作 Apache 发送给客户端的所有标头。就像是
在您的子域的 VirtualHost 内应该可以解决问题。
我认为 apache 不能成为这里的执行者。即使是上面的 RequestHeader unset 选项也只会在客户端发送带有 cookie 的请求后才会发生。
谷歌页面速度工具注意到的关键是客户端在请求中发送 cookie。这意味着您在应用程序的某个地方设置了 domain.com cookie(实际上是 *.domain.com)。您只需要在 cookie 代码中小心设置 www.domain.com(或您正在使用的任何子域)。说实话,大多数专业网站最终都会有如此多的第三方小部件和 javascript 和浏览器调用,因此更容易为此放弃您的“主”域并设置一个永远不会设置 cookie 的完整第二个域。你可以看到 facebook 用 fbcdn.net 做到了这一点。Huffingtonpost.com 通过 huffpost.com 做到这一点。