控制cookie免费域上的缓存

时间:2011-03-04 08:56:30

标签: php cookies subdomain yslow filemtime

我的情况 我遵循雅虎YSlow的建议,我想将我的静态内容存储在子域中。但是,我想使用函数filemtime()来控制文件的缓存。

问题 问题是这个函数似乎不适用于子域。

我的问题 有没有办法实现我的两个目标?或者你对我有什么建议吗?任何解决方案或解决方法都将受到高度赞赏。


更新
函数filemtime()现在正在子域上工作。我输入路径时犯了一个错误。但它仍然没有在其他领域工作。

错误如下:

  

警告:filemtime()[function.filemtime]:第7行/mywebsite/public_html/index.php中的../../otherdomain.com/file.css的统计信息失败

2 个答案:

答案 0 :(得分:2)

您可能已为domain.com设置了Cookie,因此会将其传递给sub.domain.com

您可以使用全新域名,例如: cdndomain.com

至于使用文件修改的缓存破坏程序,试试这个......

<?php
$filename = 'script.js';
?>

<script type="text/javascript" src="<?php echo $filename . '?' . filemtime($filename); ?>"></script>

然后确保script.js在未来发送过期标题(1年足够好)。

然后,当您更新此文件时,版本控制将更改,打破缓存并允许客户端下载新副本。

答案 1 :(得分:0)

我通过在另一个域上创建一个PHP文件并向该文件发送请求以检查文件的修改时间来解决该问题。