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

Angular路由在Nginx中直接访问/刷新返回404问题求助

Angular路由刷新404问题解决方法

Angular属于单页应用(SPA),/login、/signup这类路由是前端路由,并非服务器上存在的真实目录或文件。Nginx默认会将这类请求当作对物理资源的访问,找不到对应资源时就返回404。

解决这个问题不需要修改Angular代码,只需调整Nginx的location /配置,让所有前端路由请求都指向项目的index.html,由Angular自身处理路由逻辑。

修改后的Nginx配置示例:

location / {
    root /html;
    index index.html index.htm;
    # 优先匹配真实文件/目录,匹配失败则返回index.html
    try_files $uri $uri/ /index.html;
}

try_files指令的作用:

  • 先尝试加载请求URI对应的物理文件
  • 若文件不存在,尝试加载URI对应的目录
  • 若两者都不存在,返回根目录下的index.html,让Angular接管路由解析

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 08:34:53