脱机时HTML5缓存清单链接已断开

时间:2012-07-12 15:28:54

标签: html5 offline cache-manifest broken-links

我已成功实施HTML5缓存清单文件,以便在本地存储我的网络应用程序的页面和资源,以便在用户离线时可以查看部分内容。

我遇到的问题是,如果用户在www.example.com/启动,然后从那里导航到www.example.com/products/,则www.example.com/products/页面上的链接会被破坏(缺失) URL路径的一部分)并恢复到我的FALLBACK离线页面,表明它们没有存储在CACHE中,尽管我明确告诉它们要存储。

这是我的cache.manifest文件的一部分:

CACHE MANIFEST
# Version 0.0.1

http://www.example.com/
http://www.example.com/products/
http://www.example.com/products/item-page/

FALLBACK:
/ http://www.example.com/offline.php

当我从主页导航到产品页面时,一切都按预期工作。当我点击链接导航到item-page时,浏览器会显示我的offline.php页面,表明http://www.example.com/products/item-page/未存储在缓存中。

我错过了什么吗?或者为什么这不起作用?请帮忙,并提供代码/解释:)

编辑 - 我有.htaccess个文件将我的index.php个网页重定向到directory/(从网址中删除index.php)。这似乎导致缓存问题,因为当我将HTML中的链接从item-page/index.php更改为item-page/时,它可以正常工作。任何想法??

2 个答案:

答案 0 :(得分:1)

您的服务器将item-page /重定向到item-page / index.php,并且不会自动缓存重定向。

你应该

  1. 将item-page / index.php添加到您的清单,除了item-page(它们实际上是两页),或者
  2. 使用item-page /加载index.php的内容,而无需重定向

答案 1 :(得分:0)

如果您将此部分添加到清单文件中,它应该可以正常工作

NETWORK:
*