我有一个网络开发问题。
有时,如果我将新版本的网页放在网络服务器上,然后浏览到该网页,则不会显示新页面。而是显示旧页面,从先前浏览的缓存页面到网页。
如何让新页面始终显示?是否有某种标签可以用于此目的?
我有一个网络开发问题。
有时,如果我将新版本的网页放在网络服务器上,然后浏览到该网页,则不会显示新页面。而是显示旧页面,从先前浏览的缓存页面到网页。
如何让新页面始终显示?是否有某种标签可以用于此目的?
是的,如果您使用 Apache,您可以指定不缓存以及在 .htaccess 中缓存单个文件的时间。通常,您会禁用动态内容的缓存并将缓存限制设置为图像和静态 html 的通常更新率。在我的网站上,我每天都重新生成静态 html,因此在 .html 上将缓存设置为 24 小时,并在 PHP 脚本上禁用缓存(这些限制以秒为单位指定 - 1 天 = 86,400 秒):
# Set up caching on media files for 1 week
<FilesMatch "\.(gif|jpg|jpeg|png|js|css)$">
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
# Set up 1 Day caching on site generated files
<FilesMatch "\.(xml|txt|html)$">
ExpiresDefault A86400
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
# Force no caching for dynamic php
<FilesMatch "\.php$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
如果您只是在测试对 html 文件的更改时遇到问题,请记住,您通常可以强制浏览器重新加载页面,而不管缓存设置如何 - Windows 下的 [Ctrl][F5]。
您可以使用一些标签
见http://www.i18nguy.com/markup/metatags.html
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
Web 服务器也可以设置类似的 HTTP 标头。
我认为服务器仍然没有更新网站。只是等待,看看它是否更新。