2014-07-15 99 views
0

我试图设置适当的缓存,但是我无法获取动态部分。防止动态(php)内容的缓存

您可以看到该网站在这里的问题:nathanhornby.com 这里回购:https://github.com/nathanhornby/nathanhornby.com

正如你会看到有3个在底部饲料。问题是,如果现在加载页面,它似乎被缓存,因此每次加载时都会看到完全相同的内容,需要用户强制刷新以查看新内容,这自然不切实际。

**注意:**我说的是页面缓存,而不是提要缓存。供稿缓存,这是故意的,但如果供稿发生更改,则仅在用户刷新时才会反映出来。 '之前'是一样的。如果它在第一次加载它时说'9分钟前',它会在下次加载它时说同样的事情。但刷新页面会更新那个时间。

你可以看到我的.htaccess设置在这里:https://github.com/nathanhornby/nathanhornby.com/blob/master/.htaccess

我希望这部分做什么,我需要的,但它似乎没有作用:

# Disable Caching for PHP <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch>

什么是最好的方式确保新鲜的内容在加载时提供服务,而不需要刷新?

回答

1

你说你想要新鲜的内容没有刷新页面。为此,您将需要其他的东西,如JQuery和AJAX,禁用缓存不会使页面不刷新而自己更新。

这是你要找的吗?

<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> 
    FileETag None 
    <ifModule mod_headers.c> 
     Header unset ETag 
     Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
     Header set Pragma "no-cache" 
     Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
    </ifModule> 
</FilesMatch> 

来源:http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html

+0

嗨。 “你说你想要新的内容而不刷新页面。”不,我不想在刷新页面时重新访问页面,而是需要新内容。 –

+0

您的答案的第二位可能是我需要的,会有小提琴! –

+1

是的,谢谢! –