Nginx参数

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),然后由前端路由来决定显示哪个页面。

-e表示只要filename存在,则为真,不管filename是什么类型,如果加了!就取反

额外的一些

-e filename 如果 filename存在,则为真

-d filename 如果 filename为目录,则为真

-f filename 如果 filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为真

-r filename 如果 filename可读,则为真

-w filename 如果 filename可写,则为真

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为