我的情况
我遵循雅虎YSlow的建议,我想将我的静态内容存储在子域中。但是,我想使用函数filemtime()
来控制文件的缓存。
问题 问题是这个函数似乎不适用于子域。
我的问题 有没有办法实现我的两个目标?或者你对我有什么建议吗?任何解决方案或解决方法都将受到高度赞赏。
的更新
函数filemtime()
现在正在子域上工作。我输入路径时犯了一个错误。但它仍然没有在其他领域工作。
错误如下:
警告:filemtime()[function.filemtime]:第7行/mywebsite/public_html/index.php中的../../otherdomain.com/file.css的统计信息失败
答案 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文件并向该文件发送请求以检查文件的修改时间来解决该问题。