我在缓存网页上的post请求中遇到了一个无效的真实性令牌问题。
我可以通过在移动设备上打开一个带有表单的页面,关闭我的chrome浏览器应用程序,重新打开并尝试提交表单,来复制这个错误。当我这样做时,我得到了ActionController::InvalidAuthenticityToken错误,因为页面没有重新加载。我在我的网站上有数千个页面,我希望它们都被缓存,除了几个。另外,我使用以下代码从htaccess文件缓存了我的资产。
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico|JPG|woff|ttf)$">
Header set Cache-Control "max-age=15768000, public"
</filesMatch>我如何告诉Rails在大多数页面上缓存HTML,然后在控制器特定的操作上删除/阻止HTML缓存?请注意,我希望继续在每个页面上缓存我不想更改的所有资产。
提前感谢
发布于 2019-07-28 08:19:34
在浏览器缓存您的.html页面之后,您不能强制它重新获取此页面,直到该资产的缓存期到期(即,只要您在max-age中指定,浏览器就会将该资产保留在缓存中)。
因此,这里的正确决策是不缓存服务器动态生成的任何.html文件。
https://stackoverflow.com/questions/57224886
复制相似问题