nginx 配置 vue History模式
解决
需要加一行 try_files $uri $uri/ /index.html;
,其中 /index.html
是你自己的目录中的入口文件
server {
listen [::]:80 default_server;
#root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
root /root/test/dist;
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.html;
}
……
}
try_files file... uri
这个语法的意思是:
try_files
后面可以定义多个文件路径和最后一个作为内部跳转的uri
,其中文件路径是和alias
和root
两个指令合在一起构造而成;- 多个文件以第一个找到的文件作为请求;
- 而文件后面以"/"结尾,会检查目录是否存在;
- 当文件都找不到时,就会去以最后一个uri进行内部跳转请求。