0

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

问题
问题是这个功能似乎不适用于子域。

我的问题
有没有办法实现我的两个目标?或者你对我有什么建议?任何解决方案或解决方法将不胜感激。


更新
该功能filemtime()现在正在子域上工作。我在输入路径时犯了一个错误。但它仍然不适用于其他域。

错误如下:

警告:filemtime() [function.filemtime]: stat failed for ../../otherdomain.com/file.css in /mywebsite/public_html/index.php on line 7

4

2 回答 2

2

您可能已经为 设置了 cookie domain.com,因此它们将被传递给sub.domain.com.

你可以使用一个全新的域,例如cdndomain.com

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

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

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

然后确保script.js在将来发送一个到期标题(1 年就足够了)。

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

于 2011-03-04T09:00:06.623 回答
0

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

于 2011-03-07T15:41:55.427 回答