2011-03-04 61 views
0

我的情況
控制緩存我下面雅虎的YSlow的的意見,我想我存儲在一個子域靜態內容。但是,我想使用功能filemtime()來控制文件的緩存。上的cookie免費域名

問題
的問題是,這個功能似乎並沒有放在子站點。

我的問題
有沒有辦法達到我的目標?或者你有什麼建議嗎?任何解決方案或解決方法將不勝感激。


更新
功能filemtime()正在子域了。我在輸入路徑時犯了一個錯誤。但它仍然不適用於其他領域。

誤差如下:

警告:filemtime()[function.filemtime]:STAT在/ mywebsite失敗../../otherdomain.com/file.css /第7行

+0

我用新信息更新了我的問題。 – 2011-03-04 09:36:31

回答

0

我已經通過在其他域上創建PHP文件並向該文件發送請求來檢查文件的修改時間來解決該問題。

2

的public_html/index.php文件,您可能已經爲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年就足夠了)。

然後,當您更新此文件時,版本會改變,打破緩存並允許客戶端下載新副本。

+0

@alex:我可以,但是我仍然會用'filemtime()'函數來解決這個問題。 – 2011-03-04 09:02:00

+0

@Michiel查看我的更新:) – alex 2011-03-04 09:02:29

+0

@alex:我的問題是'問題是這個函數似乎沒有在子域上工作。我從一個域連接到另一個域,即'$ filename ='http://otherdomain.com/script.js';'。當我調用函數'filemtime()'時,它會給出一個錯誤。順便說一下,購買一個域以在多個網站上放置多個靜態內容是否是一個好主意?像「site1.mystaticdomain.com」? – 2011-03-04 09:07:14