nginx部署前端项目后刷新浏览器报错404问题解决

 更新时间:2023年11月14日 09:53:22   作者:java李杨勇  
现在前端页面部署正常访问,但是刷新的时候出现了404,所以下面给整理下,这篇文章主要给大家介绍了关于nginx部署前端项目后刷新浏览器报错404问题的解决办法,需要的朋友可以参考下

问题: Vue项目打包部署Nginx服务器后,刷新页面后出现404的问题。

原因: 加载单页应用后路由改变均由浏览器处理,而刷新时将会请求当前的链接,而Nginx无法找到对应的页面。

解决:在Nginx配置文件nginx.conf中加入如下配置: 

try_files $uri $uri/ /index.html;

# 变量解释

  • try_files  固定语法
  • $uri       指代home文件(ip地址后面的路径,假如是127.0.0.1/index/a.png,那就指代index/a.png)
  • $uri/      指代home文件夹
  • /index.html  向ip/index.html 地址发起请求

try_files $uri $uri/ /index.html;

尝试解析下列2个文件/文件夹(自动分辨出,IP后面的路径是文件还是文件夹), $uri/$uri/,

如果解析到,返回第一个,

如果都没有解析到,向127.0.0.1/index.html发起请求跳转(该路由必须真实,不然会报错)

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        listen       8100;
        server_name  localhost;
        charset utf-8;
        location / {
            root   D:/deploy/web/http;
            index  index.html index.htm;
        }
    }   
     server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        location / {
            root   D:/deploy/gn/http;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
    }  
}

总结 

到此这篇关于nginx部署前端项目后刷新浏览器报错404问题解决的文章就介绍到这了,更多相关nginx部署前端刷新浏览器404内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx结合keepalived实现集群

    Nginx结合keepalived实现集群

    本文主要介绍了Nginx结合keepalived实现集群,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • nginx临时搭建rtmp服务器的方法实现

    nginx临时搭建rtmp服务器的方法实现

    nginx是一款优秀的反向代理工具,通过Nginx自带的rtmp模块,也可以实现rtmp服务器的搭建,本文主要介绍了nginx临时搭建rtmp服务器,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • nginx http 499错误码详解以及解决办法

    nginx http 499错误码详解以及解决办法

    HTTP状态码出现499错误有多种情况,499错误是什么?这篇文章主要给大家介绍了关于nginx http 499错误码以及解决办法的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Nginx使用Gzip算法对报文进行压缩详解

    Nginx使用Gzip算法对报文进行压缩详解

    这篇文章主要给大家介绍了关于Nginx的Gzip功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • Nginx更换ssl证书不生效的问题解决

    Nginx更换ssl证书不生效的问题解决

    本文主要介绍了Nginx配置中更换SSL证书后,新证书不生效的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 详解Nginx 被动检查服务器的存活状态

    详解Nginx 被动检查服务器的存活状态

    Nginx 可以持续测试您的上游服务器,避免出现故障的服务器,并将恢复的服务器优雅地添加到负载均衡组中。这篇文章主要介绍了Nginx 被动检查服务器的存活状态,需要的朋友可以参考下
    2021-10-10
  • Nginx反向代理之proxy_redirect指令的实现

    Nginx反向代理之proxy_redirect指令的实现

    proxy_redirect指令是用来重置头信息中的"Location"和"Refresh"的值,本文就来详细的介绍一下如何使用,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Centos系统中如何在指定位置下安装Nginx

    Centos系统中如何在指定位置下安装Nginx

    这篇文章主要介绍了Centos系统中如何在指定位置下安装Nginx,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • nginx配置PC站手机站分离实现重定向

    nginx配置PC站手机站分离实现重定向

    这篇文章主要介绍了nginx配置PC站手机站分离实现重定向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Nginx配置文件的使用以及实现负载均衡的4种常用方式

    Nginx配置文件的使用以及实现负载均衡的4种常用方式

    这篇文章主要介绍了Nginx配置文件的使用以及实现负载均衡的4种常用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04

最新评论