在ftp上传新更改后网站未更新

时间:2018-01-29 22:25:39

标签: php html

CTRL + F5

后,我的网站未加载最新更改

我通过将此添加到我的标题中使CSS加载了最新的更改:

<link rel="stylesheet" href="/assets/css/main.css?v=<?php echo time(); ?>" />

但是如何让我的网站本身加载最新的更改?例如:

自:

<h1>Hello</h1>

要:

<h1>Helloblabla</h1>

当我刷新时,它不会加载最新的更改。仅在2-5分钟后

我搜索了很多,并尝试在我的Chrome中删除我的缓存 - 没有用。我尝试通过在根文件夹中的.users.ini中添加此行来禁用opcache:

opcache.enabled OFF

opcache.enabled=0

<?php phpinfo(); ?>告诉我它仍然启用...是我的主机来控制它吗? opcache会导致此问题吗?

2 个答案:

答案 0 :(得分:1)

<h1>Hello</h1>更改为<h1>Hellobla</h1>纯粹是HTML;与CSS或其缓存无关。此外,重要的是要注意HTML和CSS实际上有不同的缓存。

要更新任何HTML,您需要实际将文件重新上传回服务器。假设您在IDE中,可以通过右键单击相关文件来完成。如果您使用cPanel或类似文件,直接编辑文件将立即反映更改。

您也可能已缓存旧内容。您可以通过在URL上附加/来检查这一点,该URL被视为单独的页面(尽管它显示相同的内容)。如果您看到新内容,那么您确实已经缓存了旧内容。

您可以使用 CLTRL + F5 刷新HTML缓存,但CSS缓存需要稍微不同的快捷方式 - CTRL + SHIFT + R 。这相当于按住 SHIFT 并单击刷新图标。

请注意,您使用的是 root-relative 链接到您的CSS文件:/assets/css/main.css。也就是说,您的CSS应位于名为css的文件夹中,位于根级别名为assets的文件夹中。您可以通过打开F12开发人员工具并选中Sources标签来确认此CSS文件实际上已加载。

此外,将href设置为"/assets/css/main.css?v=<?php echo time(); ?>"会强制更新加载该标头的CSS 时间。这非常适合测试,但可能不适合生产。对于生产,您可能只想添加版本号,以便只对CSS文件进行重大更改才会导致重新加载。

希望这有帮助!

答案 1 :(得分:-2)

PHP可能未配置为从.users.ini文件读取配置。您可以在phpinfo()中找到php.ini的位置和其他配置文件。