如何解决VUE history模式中非index路由导致的404错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计825个文字,预计阅读时间需要4分钟。
首先看看下代代码:`location / { index index.; root /dist; try_files $uri $uri/ /index.; }`
`try_files` 首先会判断 `$uri` 是文件还是目录,如果是文件,则直接返回文件内容;如果是目录,则返回目录下的 `index.` 文件。
我们先来看下代码:
location / { index index.html; root /dist; try_files $uri $uri/ /index.html; }
try_files首先会判断他是文件,还是一个目录,结果发现他是文件,与第一个参数 $uri变量匹配。
然后去到网站目录下去查找文件是否存在,如果存在直接读取返回。如果不存在直接跳转到第三个参数.
现在不明白的是既然跳到了index为什么显示的还是路由后的界面
内容扩展:
问题背景:
vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载。但是如果我们不想hash这种以#号结尾的路径时候的话,我们可以使用路由的history的模式。比如如下网址:使用hash模式的话,那么访问变成 localhost:8080/bank/page/count/#/ 这样的访问,如果路由使用 history的话,那么访问的路径变成 如下:localhost:8080/bank/page/count 这样的了;
不过history的这种模式需要后台配置支持。
本文共计825个文字,预计阅读时间需要4分钟。
首先看看下代代码:`location / { index index.; root /dist; try_files $uri $uri/ /index.; }`
`try_files` 首先会判断 `$uri` 是文件还是目录,如果是文件,则直接返回文件内容;如果是目录,则返回目录下的 `index.` 文件。
我们先来看下代码:
location / { index index.html; root /dist; try_files $uri $uri/ /index.html; }
try_files首先会判断他是文件,还是一个目录,结果发现他是文件,与第一个参数 $uri变量匹配。
然后去到网站目录下去查找文件是否存在,如果存在直接读取返回。如果不存在直接跳转到第三个参数.
现在不明白的是既然跳到了index为什么显示的还是路由后的界面
内容扩展:
问题背景:
vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载。但是如果我们不想hash这种以#号结尾的路径时候的话,我们可以使用路由的history的模式。比如如下网址:使用hash模式的话,那么访问变成 localhost:8080/bank/page/count/#/ 这样的访问,如果路由使用 history的话,那么访问的路径变成 如下:localhost:8080/bank/page/count 这样的了;
不过history的这种模式需要后台配置支持。

