经过不懈努力不停苦逼地坚持排查,终于在前几天找到了页面重开后不自动刷新的原因,说到底是个自摆乌龙的尴尬事件:BAE php 5.5-web 的配置文件 app.conf 中不知道什么时候鬼使神差地被我添加了一行:- expire : .php modify 10 years。我还纳闷之前怎么看所有页面的过期时间都是 2026 年呢,看到这一幕差点没昏过去。删掉它。可有了这次难忘的经历貌似心里也产生了阴影,把所有页面设置为禁止缓存吧!于是在 header.php 中默默添加了下面这几行:

header( 'Cache-Control: no-cache, no-store, must-revalidate, max-age=0' );

header( 'Cache-Control: post-check=0, pre-check=0', false );

//header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );

header( 'Expires: -1' );

header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );

header( 'Pragma: no-cache' );

?>

Expires: -1 为立即过期,与它前一行意思相同,但是为保留写法所以加了注释符号放在那里。设置完毕,查看响应头中禁用缓存的这些头信息可以正常输出,跟打了针镇静剂一样心里迅速平静了下来。可这平静没持续多长时间脑子里又产生了新的想法:php 页面倒是全部应用了禁缓存的设置,那其他类型文件怎么办,WordPress 全家福里还有 css,js,jpg,gif,ico,swf 等等等呢?

索性对百度开放云发工单,开启对客服的不间断骚扰模式,此处省略文字若干,截止到发稿前一天,已经成功将上述头信息设置转移到配置文件 app.conf 中了,当然除了 header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 这一条,php 函数嘛,放到配置文件里它也不认识。啰嗦到此在文章末尾引出本文主题:如何在 BAE php 5.5-web 的配置文件 app.conf 中设置文件过期时间等头信息呢?写法基本如下:

handlers:

- header : Cache-Control no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0

- header : Expires -1

- header : Pragma no-cache

- expire : \.jpg$ (access|modify) 12 (hours|seconds|minutes|days|weeks|months|years)

上面涵盖了前文提到的几乎所有头信息的写法,注意单位是复数,即便数量是 1。

行文至此,应该没什么后顾之忧了,F5 或者 Ctrl + F5 强制刷新下浏览器,缓存十年的页面可以被立刻刷新,不过后遗症还是有。前几天分享文章到微信里,顺着文章链接点了几个页面其中就包括首页。到现在看首页还是 4 月 4 号更新的最后一篇文章。可微信集成的浏览器居然无刷新按钮,看来想刷新就只能等到重刷系统清空数据,或者十年后的某一天了。

php 设置文件过期时间,BAE 指定文件格式设置过期时间相关推荐

  1. 方舟手游服务器设置文件翻译,方舟手游咋设置翻译

    1 回答 Bang Dream手游界面和设置页面中文翻译图 设置在哪? 设置三个选单.中间一个控制打歌(live)时候的音量.右边一个控制整体系统音量.背景音乐或者游戏里bgm,在选单第一个控制就可以 ...

  2. 剑网三服务器同步设置文件夹,剑三服务器同步设置在哪

    剑三服务器同步设置在哪 内容精选 换一换 目录: 一.安装环境介绍 二.安装与配置 VMware vSphere 6.7 1.安装 vsphere 6.7 2.配置密码 3.配置 DNS.主机名和 I ...

  3. 设置服务器文件夹权限设置方法,如何设置文件夹权限 最详细的设置教程【图文】...

    很多人都认为文件夹程序属于电脑问题当中的基础性程序,因此是最简单的,其实不然,文件夹的创建.移动.删除等问题都很简单,但如果涉及到文件夹的权限问题,恐怕就没有那么简单了.这是因为如果涉及到程序当中数据 ...

  4. Qt使用教程之指定运行设置(三)

    2019独角兽企业重金招聘Python工程师标准>>> 在指定运行设置(二)一文中,我们介绍了指定调试器设置.为基于Linux的设备指定运行设置.为QNX设备指定运行设置等.本文我们 ...

  5. Ubuntu用户设置文件说明

    Ubuntu用户设置文件说明 Ubuntu作为Linux的一个发行版本,自然具有Linux系统的多用户特性.因为经常会使用和管理Ubuntu的用户,现将Ubuntu系统下的User的个性化配置整理如下 ...

  6. 京瓷4501i打印机扫描步骤_京瓷复印机扫描设置方法–京瓷复印机扫描到电脑设置...

    京瓷KM-2050/2550/3035/4035/5035扫描卡设置说明 扫描至PC设置步骤 (老款京瓷复印机扫描,新款下方有更新) 京瓷复印机扫描到电脑设置 1.(1)首先在所在设备上安装京瓷扫描组 ...

  7. Java对于时间的处理,计算时间差,比较时间,计算时间前后,时间相加

    Java对于时间的处理,计算时间差,比较时间,计算时间前后,时间相加 1.功能介绍 2.实现代码 1.功能介绍 这个是一个实现类,实现了一下功能: (1)获取系统当前时间, (2)比较两个时间的先后, ...

  8. linux根据修改日期删除,在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件?...

    问:在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件? 答:脚本del_files_of_date.sh 用法:./del_files_of_date.sh 比如:./del_files ...

  9. pyspark —— spark dataframe 从hdfs读写文件:按照指定文件格式读写文件(读写csv、json、text文件,读取hive表,读取MySQL表)、按照指定分隔符读写文件

    spark有3种数据结构--RDD.DataFrame.DataSet.这里展示的文件读写方式,都是针对dataFrame数据结构的,也就是文件读进来之后,是一个spark dataFrame. 0. ...

最新文章

  1. Python 多进程、协程异步抓取英雄联盟皮肤并保存在本地
  2. Git使用教程:超详细、超傻瓜、超浅显、真正手把手教!
  3. 零基础Java学习之接口
  4. 文件输入输出和string流
  5. php 卡号算法,PHP实现通过Luhn算法校验信用卡卡号是否有效_PHP
  6. 华为 MateBook 14 Linux 版真机:搭载深度 Linux 系统
  7. mybatis中prefix,suffix,prefixOverrides,suffixOverrides用法解释
  8. centosx64 6.2安装virtualbox
  9. 130242014039-(2)-体验敏捷开发
  10. Day33:Swift 和 Object - C
  11. CAN波特率计算公式
  12. 【2018年12月04日】钢铁行业的估值高度排名
  13. 反向题在测试问卷信效度_问卷一定要做信度效度检验吗?如果含有多选题怎样做信度分析,请各位高手帮帮忙。...
  14. element中table表格和已选数据联动
  15. composer安装fxp/composer-asset-plugin
  16. 线性代数笔记8:矩阵的对角化
  17. 张恭庆院士:数学的意义(最全面的解释)
  18. nvidia nano平台tca9546接入两路imx219调试记录
  19. 爱数服务器设置总显示超时,爱数linux下安装及常见问题
  20. Geekbench—系统性能检测工具

热门文章

  1. 群晖NAS教程(二)、利用Docker安装Ubuntu并远程访问
  2. idea的Java窗体可视化工具Swing UI Designer的简单使用(一)
  3. Ubuntu系统学习笔记(完整版)
  4. python 给图像添加合成透明图片贴纸
  5. C C++实现两矩阵相乘--模拟法
  6. 7-9 五香烟熏牛肉(pastrami)卖完了
  7. 安卓版计算机C语言翻译器,如何用C语言来制作翻译器
  8. 信号分析——S-G卷积平滑(Java/Matlab)
  9. Acrobat Pro DC 教程:如何使用 Acrobat Pro DC 在 PDF 中添加和组织页面?
  10. 使用IDEA集成docker部署springboot项目及bug解决并连同redis、MySQL