如何解决Vue history模式下非index路由导致的404错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计996个文字,预计阅读时间需要4分钟。
我们首先看看配置文件中的代码:
plaintextlocation / { index index.; root /dist; try_files $uri $uri/ /index.;}
这段代码的解释如下:
- `location /`:定义了一个匹配所有请求的location块。- `index index.`:设置默认的首页文件为`index.`。- `root /dist`:指定服务器的根目录为`/dist`。- `try_files`:尝试按顺序查找文件,如果找到则返回,否则返回404错误。 - `$uri`:当前请求的路径。 - `$uri/`:当前请求路径加上斜杠。 - `/index.`:如果上述两个文件都不存在,则返回`/index.`。
`try_files`命令首先会判断请求的资源是否为文件,如果是,则直接返回该文件。如果不是文件,则尝试匹配路径,如果匹配成功,则返回对应的目录下的`index.`文件。如果以上都不满足,则返回404错误。
我们先来看下代码:
location / { index index.html; root /dist; try_files $uri $uri/ /index.html; }
try_files首先会判断他是文件,还是一个目录,结果发现他是文件,与第一个参数 $uri变量匹配。
本文共计996个文字,预计阅读时间需要4分钟。
我们首先看看配置文件中的代码:
plaintextlocation / { index index.; root /dist; try_files $uri $uri/ /index.;}
这段代码的解释如下:
- `location /`:定义了一个匹配所有请求的location块。- `index index.`:设置默认的首页文件为`index.`。- `root /dist`:指定服务器的根目录为`/dist`。- `try_files`:尝试按顺序查找文件,如果找到则返回,否则返回404错误。 - `$uri`:当前请求的路径。 - `$uri/`:当前请求路径加上斜杠。 - `/index.`:如果上述两个文件都不存在,则返回`/index.`。
`try_files`命令首先会判断请求的资源是否为文件,如果是,则直接返回该文件。如果不是文件,则尝试匹配路径,如果匹配成功,则返回对应的目录下的`index.`文件。如果以上都不满足,则返回404错误。
我们先来看下代码:
location / { index index.html; root /dist; try_files $uri $uri/ /index.html; }
try_files首先会判断他是文件,还是一个目录,结果发现他是文件,与第一个参数 $uri变量匹配。

