这是因为服务端接管路由,去访问/user/id这个地方,但是实际上应该让服务器把你带到index.html这里,然后vue-router通过分析路径确定你是要访问vue-router的路由,然后给你展现这个路由的页面
如果想更好的理解这个问题,楼主需要了解一些服务端知识和url相关知识
简单描述下,一个正常服务器的情况(虽然不严谨,但是利于理解)
在一个urlhttp://oursite.com/user/id中http:是协议,oursite.com是host,/user/id是path
也就说说如果带着这个url去访问服务端,服务器收到了你的访问之后开始解析路径path,正常情况下服务器就会去找对应这个路径的地址(为了方便理解,你可以类比的理解成找根目录下一个叫user的文件夹下叫id的东西),然后把你的请求返回给你,这种情况可想而知是找不到的或者找到的内容不是用户想要的内容
这个时候,我们就需要去规定服务端如何来解析这个path
vue-router文档上面的对服务器的配置意思是说,只要访问oursite.com这样的一个主机,不论后面的path是怎么样的,我服务器统统不管,全部把链接指向oursite.com/index.html,而这个html就是你vue的首页,接下来执行前端代码,vue-router框架就会分析你的url然后做vue-router相关的事情了.
以上这个过程就是后端放弃路由控制权限,将路由控制权交给前端来处理