2011-05-13 43 views
1

我有一個MVC2網站,我試圖在iPhone上離線工作。我的站點中的所有頁面都使用相同的母版頁,並且這引用了單個緩存清單文件。清單文件中沒有特定的MVC URL,但現在沒問題,因爲一旦訪問過一次(它們在初始下載時獲得緩存),它們將被緩存。ASP.NET MVC離線應用程序url問題

我的問題是這樣的:如果我有www.mysite.com/red或www.mysite.com/blue的網址,那麼頁面會緩存在iphone上。如果我的網址是www.mysite.com/red/one或www.mysite.com/blue/two,那麼該頁面不會被緩存。

有誰知道爲什麼會發生這種情況?

非常感謝。

回答

0

緩存清單中列出的文件的URL都是相對於包含清單的文件的位置而不是清單本身的位置。

如果您的網站的結構類似於:

www.mysite.com/red 
www.mysite.com/blue 
www.mysite.com/red/one 
www.mysite.com/blue/two 
www.mysite.com/scripts/site.js 
www.mysite.com/css/site.css 
www.mysite.com/cache.manifest 

而且你cache.manifest目前看起來像

CACHE MANIFEST 
scripts/site.js 
css/site.css 

它將爲www.mysite.com/red和www.mysite.com工作/藍色 。

要爲www.mysite.com/red/one或www.mysite.com/blue/two相同的緩存清單的工作,你應該改變你的清單以使用絕對路徑,像這樣:

CACHE MANIFEST 
/scripts/site.js 
/css/site.css