.htaccess 使用无Cookie域-子域解决方案不起作用

ctrmrzij  于 2022-11-16  发布在  其他
关注(0)|答案(3)|浏览(171)

我正在尝试优化一个html网页,yslow的建议之一是:
使用无Cookie域有11个组件不是无Cookie的
所以我按照我见过的一个标准解决方案,创建了一个子域static.mysite.com,并把图像放在那里。
但是我仍然遇到了同样的问题--每个图片都有一个cookie,还有同样的yslow消息。
那么,我如何让这个子域是cookie免费的?

zhte4eai

zhte4eai1#

如果您使用的是无Cookie的子域,那么您的主页必须使用www前缀。

7dl7o3gd

7dl7o3gd2#

我也遇到了同样的问题。这个子域名根本不起作用,所以我用了一个不同的域名,它解决了这个问题。

qzwqbdag

qzwqbdag3#

当浏览器请求一个静态图像并将cookie与请求一起发送时,服务器对这些cookie没有任何用处。所以它们只会毫无理由地产生网络流量。您应该确保静态组件是通过无cookie请求来请求的。创建一个子域并在那里托管所有静态组件。
如果您的域是www.example.org,您可以在static.www.example.com上托管您的静态组件example.org。但是,如果您已经在顶级域example.org而不是www.example.com上设置了cookiewww.example.org,那么所有对www.example.com的请求static.example.org都将包含这些cookie。在这种情况下,您可以购买一个全新的域,在那里托管您的静态组件,并且保持这个域没有cookie。雅虎使用yimg.com,YouTube使用ytimg.com,亚马逊使用images-amazon.com等等。
在无Cookie的域中托管静态组件的另一个好处是,一些代理可能会拒绝缓存通过Cookie请求的组件。在相关的注意事项中,如果您不知道是否应该使用example.org或www.example.org作为您的主页,请考虑Cookie的影响。省略www将使您别无选择,只能将Cookie写入 *. example.org。因此出于性能原因,最好使用www子域并将Cookie写入该子域。
来源-http://developer.yahoo.com/performance/rules.html

编辑

如果您在顶级域(如www.example.com)上设置Cookieyourwebsite.com您的所有子域(如static.yourwebsite.com)也将包括设置的Cookie。因此,在这种情况下,如果您希望使用无Cookie的域,则需要使用单独的域名来传送静态内容。但是,如果您在www子域(如www.example.com)上设置Cookie,则需要使用单独的域名来传送静态内容 www.example.com 可以创建另一个子域(例如static.yourwebsite.com)来托管您的所有静态文件,这样就不会再发送任何cookie。
对于WordPress,您可以使用以下配置:

define("WP_CONTENT_URL", "http://static.yourwebsite.com"); 
define("COOKIE_DOMAIN", "www.yourwebsite.com");

详细信息-https://www.keycdn.com/support/how-to-use-cookie-free-domains/

编辑2

您需要将您的静态内容移动到您新创建的子域的wp-content文件夹中!

相关问题