Dan*_*ola 30 php apache caching pragma http-headers
我有一个网站,我继承了维护,这是一个很大的毛病.
我正在做的一件事就是提高性能.除此之外,我正在Expires为图像添加标题.
现在,有一些图像是通过PHP文件提供的,我注意到它们确实有Expires标题,但每次都会加载它们.
看看响应标题,我看到了这个:
Expires Wed, 15 Jun 2011 18:11:55 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
Run Code Online (Sandbox Code Playgroud)
这显然解释了这个问题.
现在,我看了整个代码库,并没有在任何地方说"pragma"..htaccess似乎没有任何相关的东西.
什么想法可以设置那些"pragma"(和"缓存控制")标题,我怎么能避免它?
Ala*_*orm 10
创建一个简单的文件,其中包括关你的PHP库,但居住在同一个文件夹中,通过一个PHP文件提供了您的图片文件.
file: test.php
Run Code Online (Sandbox Code Playgroud)
通过浏览器请求此文件并检查标头.如果你看到的响应头,你不想要的,你知道,他们是通过Apache配置,并通过PHP文件中未生成,你可以在目录树中的.htaccess文件集中你的搜索,并在http.confg和其他包括apache配置文件.你想要搜索
<Directory....
Run Code Online (Sandbox Code Playgroud)
和
<VirtualHost
Run Code Online (Sandbox Code Playgroud)
可能适用于您网站的部分.
如果你没有看到在简单的PHP文件的请求头,你知道PHP是什么地方设置标头.在图像的最后文件服务(它回声图像并退出或之后),但下面的PHP代码片段)
var_dump(get_included_files());
Run Code Online (Sandbox Code Playgroud)
通过图像提供URL请求图像.上面的代码片段将打印出请求中使用的所有PHP文件.(您可能需要查看源或使用curl查看原始输出,因为浏览器将报告无效图像)
让你的文件的子集工作文件,搜索它们的调用
header();
Run Code Online (Sandbox Code Playgroud)
功能.该header函数是(我认为)原始PHP代码可以设置Response头的唯一方法.你也想搜索
call_user_func
eval
$$
Run Code Online (Sandbox Code Playgroud)
如果页面上有任何动态代码使用PHP的元编程功能来调用该header函数.
祝好运!
尝试取消设置标题.htaccess.下面的例子将取消或修改它们匹配的扩展名的所有文件ico,jpeg,png,gif,js,css:
<FilesMatch "\.(ico|jpeg|png|gif|js|css)$">
Header unset Cache-Control
Header unset Pragma
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
您可以在本文中找到一些提示.
| 归档时间: |
|
| 查看次数: |
22087 次 |
| 最近记录: |