我已在CentOS6虚拟机上彻底安装了Apache和PHP,我还创建了一个共享文件夹并将其用作我的文档根目录。
一切都很完美,我可以访问网站,做我想做的所有事情,我可以在工作站上编辑PHP文件,在浏览器中进行测试时,它们会立即更新。
然而,在编辑CSS和JavaScript时,文件是"链接"进入网站,我遇到了一个奇怪的问题,当他们不对页面进行未缓存的重新加载时,他们不会更新内容,但他们会更新内容长度。
因此,如果我在脚本中添加了任何内容,它将为我提供相同的内容,内容长度更高,并尝试通过添加未知字符标记(方形问号标记)来纠正此问题。
如果我删除了相反的内容,它会识别出内容长度较短并且最后会开始删除内容。
这种情况发生在两次干净的安装上,而且我已经尝试使用Google来解决有同样问题的人,但问题的分散性很难定义。
我已经尝试了所有可能的Apache配置,以便在没有运气的情况下强制执行未缓存的结果。
我发现强迫它更新的唯一事情是重新安装共享文件夹
如果您需要更多信息,我很乐意提供!
答案 0 :(得分:1)
虽然我开始怀疑问题不在缓存中,但由于我对virtualbox的工作量不大,所以其他任何问题都无法实现。
然而,我的一位同事指出vboxsf“不太好”(不是那么说)。因此,当我有其他东西继续进行时,搜索更容易定义和预定!
https://forums.virtualbox.org/viewtopic.php?f=3&t=1940&p=6680&hilit=shared+folder+apache#p6680
导致了这个:
http://httpd.apache.org/docs/2.0/faq/error.html#error.sendfile
禁用它们为我解决了这个问题!
答案 1 :(得分:0)
嗯,某些地方肯定会有一些缓存。
我处理此问题的策略是将.css /.js文件的filemtime()附加到链接的末尾。
你最终会得到像
这样的链接<link type='text/css' rel='stylesheet' media='screen' href='stylesheet.css?1352889543' />
这样,服务器和浏览器都不可能缓存已经修改过的文件。