【问题标题】:Browser cache after server missconfiguration服务器配置错误后的浏览器缓存
【发布时间】:2012-03-18 00:30:10
【问题描述】:

在 symfony 生产服务器上,自动更新已卸载 libapache2-mod-php5。所以在那之后,每当你尝试访问一个网站页面时,它都会下载 index.php 文件作为文本:

<?php
    require_once(dirname(__FILE__) . '/../config/ProjectConfiguration.class.php');

    date_default_timezone_set('Europe/Paris');

    $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
    sfContext::createInstance($configuration)->dispatch();

This ubuntu forum 展示了如何重新安装 libapache2-mod-php5 来解决问题:

sudo apt-get install libapache2-mod-php5
sudo a2enmod php5
sudo service apache2 restart

现在,如果我在另一个浏览器中打开该网站,它可以正常工作。但是,chrome 将损坏的版本保留在他的缓存中,当我访问固定的网站时,它仍然下载 index.php 而不是显示主页。

显然,我想避免对客户说“清除您的 cookie 和浏览历史记录”...您是否有服务器端解决方案来强制浏览器不使用他的缓存?

注意:清除 Symfony 缓存没有帮助

【问题讨论】:

    标签: php symfony1 browser-cache


    【解决方案1】:

    这看起来浏览器从不向服务器发送请求。所以你无能为力。

    【讨论】:

    • Symfony 有什么方法可以测试服务器是否接收到请求?你知道一些关于客户端缓存如何工作的在线资源吗?
    • 服务器确实没有收到请求。我已经用 index.php 中的 file_put_contents() 进行了测试。
    猜你喜欢
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2023-03-06
    • 2012-06-14
    • 1970-01-01
    相关资源
    最近更新 更多