尝试使用.htaccess“无Cookie”子域,但不起作用

时间:2011-09-19 13:49:34

标签: caching browser-cache cache-control

是的,我在这里和那里搜索了很多,这是我发现的最接近我认为可以实际工作的。但事实并非如此。

<IfModule mod_headers.c>
<FilesMatch "\\.(ico|x-icon|js|css|jpg|jpeg|png|gif|swf|pdf)$">
Header unset Cookie
Header unset Set-Cookie
Header unset ETag
FileETag None
</FilesMatch>
</IfModule>

很明显,我应该尝试释放子域提供的静态文件,并删除这些静态文件上的ETag标头。 ETag的工作正常,但我无法取消设置cookie。

仅供参考,Wordpress安装在example.com上(不是www.example.com; www.example.com重定向到example.com),它不是无cookie的。 i.example.com提供静态文件。我想让i.example.com无cookie。当非www tld不是无cookie时,是否可以使子域无cookie? (我也看到这就是许多人建议使用www.tld的原因)。

2 个答案:

答案 0 :(得分:2)

为什么要删除此文件的ETag?我建议设置一下:

FileETag MTime Size

所以浏览器,代理等知道是否更改了缓存文件 这进一步加快了网站的访问速度。

答案 1 :(得分:-1)

也许您在请求标头中设置了cookie,因此您必须使用“RequestHeader unset Cookie”,如下所示:

<IfModule mod_headers.c>
<FilesMatch "\\.(ico|x-icon|js|css|jpg|jpeg|png|gif|swf|pdf)$">
Header set Pragma "public"
Header append Cache-Control "max-age=290304000, public"
RequestHeader unset Cookie
Header unset Cookie
Header unset Set-Cookie
</FilesMatch>
</IfModule>