我正在运行安装了CentOS 5.8的VirtualBox服务器,为希望后端使用1366px x 768px固定宽度布局而不是现有1024px x 768px的客户开发新的管理界面。
httpd server is 'stock' Apache/2.2.3 as supplied as part of CentOS 5.8
php is 'stock' PHP 5.3.3 as supplied as part of CentOS 5.8
大部分工作都是对css文件进行更改以利用额外的宽度,因为它完全是关于客户端的布局。
问题是某些文件正在缓存,我没有看到我对css文件所做的更改。 Shift F5和Ctrl F5在客户端浏览器上没有区别。
这让我疯狂,需要太长时间才能解决,所以我发帖是为了寻求帮助。关于.htaccess调整并在链接css文件中添加参数,我尝试了一些假定的“解决方案”,但都无济于事
我觉得这是一个httpd问题,但许多所谓的“专家”都坚持认为这是一个浏览器问题。我已经在MS Exploder,Opera,Chrome和Opera Mobile Emulator中测试过,并没有立即看到css的变化。
我希望有人可以提供帮助,因为这必须让其他开发人员感到沮丧。
如何在VirtualBox CentOS环境和Firefox v17上禁用所有缓存?
答案 0 :(得分:2)
我有同样的问题。我在这里找到了解决方案:
http://www.danhart.co.uk/blog/vagrant-virtualbox-modified-files-not-updating-via-nginx-apache
问题是VirtualBox的共享文件夹不完全支持sendfile()
所以你必须在你的apache / nginx配置文件中关闭它:
apache: EnableSendfile off
nginx: sendfile off;
它对我有用
答案 1 :(得分:0)
缓存可以在多个级别进行:服务器,浏览器或其间(代理,ISP,路由器等)。
您是否安装了任何服务器端缓存软件? Varnish,Pagespeed或类似的东西?
您可以通过向文件名添加变量URL查询字符串来中断缓存 - 例如,加载mystyle.css?r=34234235
而不是mystyle.css
。更改数字将导致强制重新加载为没有缓存的新URL,无论缓存在何处进行。
直接回答您的问题:在Firefox中,您可以通过打开“选项”窗口,“高级选项”,“网络”选项卡,最终清除缓存。这里有一个“清除缓存”按钮。如果它是浏览器缓存问题,这应该可以解决您的问题。这里还有一个功能来管理缓存大小。将此设置为零以防止firefox缓存任何内容(但要准备好加载页面的速度要慢得多)。
答案 2 :(得分:0)
感谢。
这不是路由器或ISP问题,因为服务器只是托管在VirtualBox容器中,文档根目录指向已安装的共享文件夹。
我正在使用这种方法,因为我必须支持几个不同的网站,一些主机运行php v5.2,其他主机运行在v5.3上。这也意味着我可以轻松检查有关已弃用功能的问题。
我尝试将addon查询字符串用于样式表名称,但是“查看源代码”显示了新名称,但内容仍然是“旧”表。
这不是一个浏览器问题,因为Chrome,IE和Firefox都显示相同的问题,所以它肯定是Apache服务器。
没有安装服务器端软件,这是CentOS 5.8 DVD中的简单“yum install httpd *”。
我通过创建work-in-progress.php并在文件顶部包含以下内容来解决缓存的css问题:
<?php
header("Content-type: text/css; charset: UTF-8");
?>
然后我将样式表加载为&lt; head&gt;中的最后一项。使用.php扩展名。
<link rel='stylesheet' type='text/css' href='work-in-progress.php'>
这有点俗气,但至少它适用于css
我还需要解决Apache配置中要更改的参数,因为图像也被缓存,除非我每次修改背景图像时都更改文件名,否则我仍然可以使用“旧”图像。
我尝试在进行更改后尝试重新启动服务httpd,但这似乎没有任何影响。