为了账号安全,请及时绑定邮箱和手机立即绑定

http://my.vue/list 访问Apache服务器不能显示列表页面

http://my.vue/list 访问Apache服务器不能显示列表页面

zhaiduting 2018-07-02 13:41:22
http://localhost:8080/#/list 这样可以访问 list 页面 。http://localhost:8080/list 去掉井号之后不能访问了!按理说就应该这样访问的呀!难道一定要加个井号?解决方法:路由配置里加个 mode: 'history' 可以解决此问题。如下所示export default new Router({  mode: 'history',  routes: [    {      path: '/',      name: 'home',      component: home    },{      path: '/list',      name: 'list',      component: list    }  ]})但是,这却带来了新的问题:1、使用 npm run build 命令创建产品,得到 \travel\dist 文件夹;2、修改 host 文件,添加   127.0.0.1 my.vue3、设置 Apache 虚拟主机,使网址 my.vue 指向 \travel\dist 文件夹;4、重启 Apache 服务器;5、发现    http://my.vue/list 不能访问!如果去掉 mode: 'history' 并重新创建产品   http://my.vue/#/list 可以正常访问(带井号)。总之一句话:路由配置文件里的 mode: 'history' 要不得啊!求助:如果我一定要使用 http://my.vue/list 访问阿帕奇服务器该怎么办?
查看完整描述

3 回答

?
紫色_

TA贡献6条经验 获得超2个赞

配置下apche路由配置

查看完整回答
反对 回复 2018-07-02
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

mode的几个模式对应的是什么先了解清楚。

history的效果就是没有#的,但是这个效果需要后端配合。将路由统一返回index.html给前端。URI代表的是服务器上的一个资源文件,跟你在命令行中cd进入一个文件一个道理,如果你这个路径不存在命令行不也报错吗。

hash的效果就是通过改变url的hash值来做路由的,因为url的hash值改变不会触发浏览器重新请求资源,所以前端就能够自己做管理。

查看完整回答
反对 回复 2018-07-02
?
李行知

TA贡献51条经验 获得超12个赞

你写的是单页应用,路由是前端控制的,了解下前端路由原理吧
查看完整回答
反对 回复 2018-07-02
  • zhaiduting
    zhaiduting
    原理啊、源码啥的,对我这初学者来说那都是天书哦……太深奥了
  • 3 回答
  • 1 关注
  • 2087 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信