本文主要介绍了nginx配置history模式的使用小结,具体如下:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; #前端项目部署 location / { root html; # 静态页面在html文件夹下 index index.html index.htm; try_files $uri $uri/ /index.html; } } }
try_files $uri $uri/ /index.html;
这句话是nginx服务器配置中的一条指令,用于设置处理请求的策略。
-
$uri
:这是nginx内置的一个变量,代表当前请求的uri,不包括参数部分。例如,如果请求的url是http://example.com/user?id=1
,那么$uri
的值就是/user
。 -
$uri/
:尝试将请求作为目录处理,如果这个目录存在,nginx会试图返回该目录下的默认文件(通常是index.html
或index.htm
)。 -
/index.html
:如果前面的$uri
和$uri/
都无法找到对应的文件或目录,那么就返回/index.html
文件。
因此,try_files $uri $uri/ /index.html;
的含义是:首先尝试按照请求的uri去寻找对应的文件,如果找不到,再尝试将请求作为目录处理,如果还是找不到,最后就返回/index.html
文件。
这对于单页应用来说非常有用,因为无论用户请求的是什么url,服务器都会返回同一个html文件(即index.html
),然后由前端路由来决定显示哪个页面。