nginx如何配置vue项目history的路由模式(非根目录)
作者:养只猫
这篇文章主要介绍了nginx如何配置vue项目history的路由模式(非根目录),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue的路由分为两种hash和history,hash路由虽然不需要做太多的配置但是url地址上会有一个很丑的#号。
而history模式的路由不会有这个#号但是带来的问题却是刷新页面之后会404找不到页面,原因是spa单页面是通过js来进行跳转的。
浏览器根据路由地址是找不到服务器上相关的文件的,所以这里需要进行相应的服务器配置。
这里我选用的是nginx服务器
vue项目中
vue.config.js
router.js
然后npm run build打包。
nginx相关的配置
server { listen 81; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location ^~/test { #root /test/; #项目路径 index index.html; try_files $uri $uri/ /test/index.html; #匹配不到任何静态资源,跳到同一个index.html error_page 404 /test/index.html;//404页面跳到同一个index.html }
nginx目录
项目是放在nginx服务器根目录下的test文件夹下的
启动nginx浏览器访问localhost:81/test/
选择到其中一个二级页面进入页面后刷新没有报404!!!大功告成!!!
补充:
nginx的相关操作
开启:在nginx安装的根目录运行cmd执行nginx命令
停止:nginx -t
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。