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

本地localhost运行正常的代码部署至线上服务器出现404错误求助

排查线上服务器404错误的实用建议

这种本地跑完全正常,一部署到线上就404的情况我太熟悉了,多半是本地和服务器环境的细节差异导致的,给你几个具体的排查方向:

  • 先揪出大小写问题:绝大多数线上服务器是Linux系统,文件名和路径严格区分大小写,但本地Windows/macOS默认是不区分的。比如你本地写的/assets/MyScript.js,服务器上实际存的是/assets/myscript.js,这就直接触发404了。登录服务器用ls -l命令查看目标文件的真实名称,对比代码里的引用路径。

  • 核对文件权限:服务器上的文件或文件夹权限不对,Web服务器(Nginx、Apache这类)根本读不到文件。常规操作是给文件设644权限,文件夹设755权限,确保Web服务的运行用户(比如www-data)有读取权限。用命令的话就是:

    chmod 644 /path/to/your/file
    chmod 755 /path/to/your/folder
    
  • 确认Web服务器的根目录配置:很多时候你以为的项目根目录和服务器配置的根目录不是一回事。比如你把代码传到了/var/www/my-project,但Nginx配置里的root设成了/var/www,那访问时路径就得加上/my-project才能找到文件,不然就会404。去看看服务器的配置文件(比如Nginx的/etc/nginx/sites-available/your-site.conf),确认root指向的是不是你的项目根目录。

  • 看服务器错误日志找线索:别瞎猜,直接看Web服务器的错误日志,里面会清清楚楚记录404请求的具体路径。比如Nginx的日志在/var/log/nginx/error.log,Apache的在/var/log/apache2/error.log,把日志里的请求路径和你服务器上的实际文件路径对比,差异一眼就能看出来。

  • 清理缓存试试:有时候是浏览器或者CDN缓存了旧的路径,导致请求的是不存在的资源。先强制刷新浏览器(Ctrl+F5),如果用了CDN服务,也手动清一下CDN的缓存,再测试看看。

  • 检查相对路径的基准:如果代码里用的是相对路径(比如./styles/main.css),要确保线上页面的URL层级和本地一致。比如本地是localhost:3000/posts,线上是your-domain.com/blog/posts,那相对路径的基准就变了,自然找不到文件。可以改成绝对路径(比如/styles/main.css)来规避这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:39:13