vue路由切换history导致刷新页面500

一、修改vue路由模式的原因

项目部署时,由于我们是在一个nginx上面部署多套前端项目,而且用的还是hash模式。所以导致我们访问的路径中携带了#。正常项目无所谓,但其中一个公众号的h5页面有绑定微信的功能,这就导致绑定微信跳转直接报错。为了解决该bug,于是我们就将vue的路由模式改为了history。(由于该项目是指定路径,所以base中增加了/ydd/)

二、history出现的问题

路由模式修改为history后路径中确实去除了#号,但访问页面时,除了首页刷新没啥问题,其他页面刷新一律提示500。所以又开始了第二个bug的修复

三、修复方法

修改nginx配置。按网上找了半天的修改方法,都说是增加一个 try_files $uri $uri/ /index.html; 配置即可。但配置后仍是刷新当前页面跳转500

server {
		listen 80;
		server_name alumni.chnu.edu.cn;
		client_max_body_size 10m;

		location / {
			   root  /mnt/web;
			   try_files $uri $uri/ /index.html;
			   index  index.html index.htm;
		}
	
		location /ydd {
			alias  /mnt/h5;
			index  index.html index.htm;
			try_files $uri $uri/ index.html;
		}
	}

四、修复方法(最终版)

上述出现bug的主要原因是因为当前项目访问的路径部署/,而是/ydd。所以必须在 try_files $uri $uri/ /ydd/index.html; 中增加/ydd

server {
		listen 80;
		server_name alumni.chnu.edu.cn;
		client_max_body_size 10m;

		location / {
			   root  /mnt/web;
			   try_files $uri $uri/ /index.html;
			   index  index.html index.htm;
		}
	
		location /ydd {
			alias  /mnt/h5;
			index  index.html index.htm;
			try_files $uri $uri/ /ydd/index.html;
		}
	}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值