部署在Nginx上的Angular路由刷新时出现404 Not Found问题求助
Angular部署Nginx后刷新路由404的解决办法
问题根源:Angular是单页应用(SPA),前端路由逻辑在浏览器端处理。刷新页面时,浏览器会直接向Nginx请求对应路由的物理文件,但这些文件实际不存在,因此返回404错误。
解决步骤:修改Nginx配置,让所有路由请求都指向Angular的入口文件
index.html,具体操作如下:- 找到Nginx配置文件(通常位于
/etc/nginx/nginx.conf或/etc/nginx/sites-available/下的站点配置文件) - 在
server块中添加或调整location规则,示例配置如下:
- 找到Nginx配置文件(通常位于
server { listen 80; server_name 你的域名或IP; root /你的Angular打包后dist目录路径; location / { try_files $uri $uri/ /index.html; # 核心规则:优先查找文件,找不到则返回index.html } # 若有API代理需求可保留以下配置,否则可忽略 location /api { proxy_pass 你的API服务地址; } }
- 验证配置合法性:执行命令
nginx -t - 重启Nginx服务:执行命令
systemctl restart nginx(或service nginx restart)
修改完成后,刷新前端路由页面时,Nginx会将请求转发到index.html,由Angular路由系统处理页面跳转,即可解决404问题。
内容的提问来源于stack exchange,提问作者berriz44
相关产品推荐
相关产品推荐

