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

DigitalOcean更换项目后域名仍显示旧内容的问题排查与解决

问题原因及解决办法

可能的原因

  • 浏览器缓存残留:React项目通常会设置强缓存策略,浏览器可能缓存了旧的HTML、JS、CSS资源,即使服务器已替换为PHP项目,仍优先读取本地缓存内容。另外,React项目可能在浏览器本地存储/会话存储中留存了登录状态等数据,导致页面自动跳转到/login,看起来像是旧站点。
  • 服务器端缓存未清理:Web服务器(Nginx/Apache)可能开启了静态资源缓存,或者PHP的OPcache、第三方缓存工具(如Redis)未重置,导致返回旧内容。
  • DNS缓存(若涉及IP变更):虽然已过去三天,但部分ISP或本地DNS服务器的TTL设置较长,缓存未完全更新;不过如果是同一Droplet替换项目,IP未变的话,DNS缓存大概率不是主因。
  • Web服务器配置未更新:可能仍保留了旧React项目的根目录指向或重定向规则(比如强制跳转/login的配置),导致部分请求仍指向旧站点。

解决办法

处理浏览器缓存

  • 强制刷新页面:使用Ctrl + Shift + R(Windows/Linux)或Cmd + Shift + R(macOS),强制绕过缓存加载最新内容。
  • 清除浏览器缓存:在浏览器设置中清除所有缓存(或覆盖部署后时间段的缓存),同时进入开发者工具(F12)的Application标签,删除example.com相关的Local Storage和Session Storage数据。

清理服务器端缓存

  • Web服务器:若用Nginx,检查配置中是否有缓存规则,执行sudo systemctl restart nginx重启服务,如有缓存目录则手动清空;若用Apache,重启服务(sudo systemctl restart apache2)并禁用或清理对应缓存模块的缓存。
  • PHP缓存:执行sudo systemctl restart php-fpm(替换为你的PHP版本,如php8.2-fpm)重置OPcache;若使用Redis等缓存工具,执行缓存清空命令(如redis-cli FLUSHALL)。

验证并修正服务器配置

  • 确认Web服务器根目录指向:检查Nginx的root指令或Apache的DocumentRoot,确保路径是新PHP项目的目录,而非旧React项目。
  • 清理旧重定向规则:删除之前配置的强制跳转到/login的规则(比如Nginx的rewrite或return指令),确保请求正常指向PHP项目的入口文件(如index.php)。

排查DNS问题(若IP有变更)

  • 刷新本地DNS缓存:Windows执行ipconfig /flushdns;macOS执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder;Linux执行sudo systemd-resolve --flush-caches。
  • 验证解析:用nslookup example.com或dig example.com检查返回的IP是否与当前Droplet一致,确认DNS记录的TTL已生效。

内容的提问来源于stack exchange,提问作者Little Star

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:52:28