Nginx 部署 Vue 项目以及 Vue 项目刷新出现 404 的问题(完整步骤)(亲测有效)

Nginx 部署 Vue 项目以及 Vue 项目刷新出现 404 的问题(完整步骤)(亲测有效)

1.流程步骤(本教程下载的是1.20.2版本,放在D盘)

1-1. 首先去官方下载 nginx ,然后在当前目录下创建html文件夹,html下再创建h5和web文件夹分别代表H5项目和管理后台项目
1-2. 分别将不同的项目代码放到不同的项目里面(注意: vue-cli 项目需将打包后的文件放到对应的文件夹)

2.nginx.conf 配置


server {
	listen 80; //默认
	location / {
		root D:/nginx-1.20.2/html/website;
		index index.html;             
           try_files $uri $uri/ /website/index.html last;
		   error_page 404 /website/index.html;
       }
}

server {
        listen       1080; //自定义
        server_name  192.168.88.68; 

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
		# 允许跨域GET,POST,DELETE HTTP方法发起跨域请求
	    #add_header 'Access-Control-Allow-Origin' *;
	    #add_header 'Access-Control-Allow-Credentials' 'true';
	    #add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accep,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Requested-With';
	    #add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE';
		#if ($request_method = OPTIONS) {
		#return 200;
		#}

		# 官网 nginx 部署
        location ^~/website{
			index index.html;             
            try_files $uri $uri/ /website/index.html last;
			error_page 404 /website/index.html;
        }

		#帮助信息,图片文件资源,后台api
		location ~ /(helpInfo|image)/ {
			proxy_redirect off;
			proxy_set_header  Host $host;
            proxy_set_header   X-real-ip $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://localhost:8009;
        }

		# vue-web管理后台(测试环境)
		location ^~/vue-web-test {
			index index.html;             
            try_files $uri $uri/ /vue-web-test/index.html last;
			error_page 404 /vue-web-test/index.html;
        }
        
		# vue-web管理后台(生产环境)
		location ^~/vue-web-prod {
			index index.html;             
            try_files $uri $uri/ /vue-web-prod/index.html last;
			error_page 404 /vue-web-prod/index.html;
        }
}
vue 项目访问链接:http://192.168.88.68:1080/vue-web-test/index

3.遇到的问题

vue-web部署上去后首次访问正常,但刷新后却出现404
问题解决:检查配置是否正确,包括字母是否错误,如下举例所示
# vue-web管理后台(测试环境)
location ^~/vue-web-test {
	index index.html;             
    try_files $uri $uri/ /vue-Web-test/index.html last;
	error_page 404 /vue-web-test/index.html;
}

首次进入界面可以正常,但一刷新界面就404
404
问题所在:try_files $uri $uri/ /vue-Web-test/index.html last;(中的Web写成了大写),三个地方的vue-web-test都得一致,否则就会出现404情况。

注意:需检查三个地方的命名是否一致,是否严格按照驼峰命名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用nginx部署vue项目时,刷新页面或访问路由配置页面时可能会出现404错误。这是因为vue项目属于单页面开发,只有一个index.html文件。解决这个问题很简单,只需要将访问重定向到index.html页面,然后由index.html处理对应的路由跳转。可以通过修改nginx的配置文件来实现。首先,在nginx的配置文件中添加以下代码: ``` location / { try_files $uri $uri/ /index.html; } ``` 这样就可以解决刷新页面时出现404错误的问题。然后,重启nginx服务器使配置生效。这样就完成了nginx部署vue项目并解决刷新404问题。\[1\]\[3\] #### 引用[.reference_title] - *1* [nginx部署vue项目刷新页面404](https://blog.csdn.net/qq_45029459/article/details/129014641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Nginx部署Vue项目以及解决刷新页面404问题](https://blog.csdn.net/qq_27985607/article/details/86608392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [五步用Nginx部署Vue项目及动态路由刷新404问题解决](https://blog.csdn.net/weixin_54218079/article/details/125755795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值