You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hostinger网站CSS文件更新不生效问题求助

解决Hostinger上CSS文件缓存不更新的问题

1. 用自动版本号替代手动固定版本号

你之前用?v=1.0没效果,大概率是每次更新后没修改版本号的值。手动改版本号容易遗漏,建议用文件修改时间自动生成版本号,只要CSS文件内容变更,版本号就自动更新,浏览器会强制拉取新文件。

如果你的网站基于PHP开发,把CSS链接改成:

<link href="nav.css?v=<?php echo filemtime('nav.css'); ?>" rel="stylesheet" type="text/css" />

filemtime()会返回文件最后修改的时间戳,每次修改CSS后这个值都会变化,浏览器会判定为新文件,自动跳过本地缓存。

2. 清除Hostinger服务器端缓存

Hostinger默认开启了LiteSpeed缓存或自有网站缓存,即便前端改了版本号,服务器可能仍在返回旧的缓存文件。操作步骤:

  • 登录Hostinger的hPanel
  • 找到「缓存」或「LiteSpeed缓存」选项
  • 点击「清除网站缓存」,确保服务器端的旧CSS缓存被清空

3. 配置.htaccess缓存规则(优化长期缓存策略)

在网站根目录的.htaccess文件中添加以下规则,既让浏览器长期缓存未修改的CSS文件,又能在版本号更新时强制刷新:

<FilesMatch "\.(css)$">
    # 设置1年长期缓存,配合版本号使用
    Header set Cache-Control "public, max-age=31536000, must-revalidate"
    # 启用ETag,帮助浏览器验证文件是否更新
    FileETag MTime Size
</FilesMatch>

这个规则会告诉浏览器:版本号不变时用本地缓存;版本号变更时,直接从服务器拉取新文件。

4. 针对Chrome用户的额外排查

Chrome对缓存的处理更严格,可能存在以下情况:

  • 检查Service Worker:如果网站用了PWA或注册了Service Worker,它可能会独立缓存CSS文件。需要更新Service Worker脚本,或调整其缓存策略,排除CSS文件或设置过期逻辑。
  • 用开发者工具验证:按F12打开「网络」面板,刷新页面后查看CSS文件的状态码:
    • 状态码200:说明拉取了新文件
    • 状态码304:说明仍在使用缓存,此时检查版本号是否更新,或服务器端缓存是否清除

5. 放弃无效的缓存禁用手段

你之前添加的CONTENT="NO CACHE"效果有限,不同浏览器对no-cache的实现不一致,还会降低网站加载性能,不建议使用。版本号+服务器端缓存配置才是可靠的解决方案。

内容的提问来源于stack exchange,提问作者Ziad Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:35:36