直聘最新招聘信息/无排名优化
闲言少叙,直奔主题了,使用过vue 的都有这么问题,开发时候一直爽,一上生产就懵逼,测试环境和生产是不一样的,注定了,在生产环境下vue 的路径是无法保存的
解决思路1 千篇一律的nginx找不到路径回首页,搜到了吧,一定搜得到,但是实在无法接受
我的解题思路如下:
vue 不是找不到路径么
那么我把路径改为参数不就可以了?
nginx需要一定基础了
这里必须用反向代理
正向的会直接死循环,
解题步骤如下:
http://http://XXX.bbb.com/abc/def/g 这是你的路径
进入nginx 后 域名后面的路径rewrite 作为参数
http://XXX.bbb.com?path=abc/def/g 这是代理访问的路径实际用户看不到这个路径,是在nginx 内部进行的
这里实际访问的路径已然发生了变化,访问的是根目录,而路径已经变成参数,此时的路径访问vue绝对没问题了,
然后在vue 前端解决路径上的参数,
如上的路径是可以访问的,因为在根目录,所以只要处理好参数就能继续跳转到页面了
获取参数后 route.push("abc/def/g'),打完收工。
代码有空再贴
记得还有一种解题思路,把单页面都改成多页面,好办法,i服了you,我整个项目都写完了已经,我要从头写一般么
新方式解决问题:
vue项目打包直接放在springboot public 文件夹下
配置错误页面地址为首页
@Configuration
public class ErrorPageConfig implements ErrorPageRegistrar {@Overridepublic void registerErrorPages(ErrorPageRegistry registry) {registry.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"/index.html"));}
}
这样刷新起来就可以了,好神奇