语法规则 try_files [uri] [uri] [uri] ....
解释下来就是服务器会尝试后面你配置的uri地址,返回第一个能够成功访问的文件就可以了。如果给的uri都没能成功访问可怎么办呢?这时候就要记住最后一个uri啦,就是不论如何,你要保证最后一个uri地址是可以访问的。即如果前面的都出错了,这时候,该命令返回的就是最后一个uri地址啦。
当然nginx新的改良是可以出现如下的使用形式的
try_files $uri = 404
什么意思呢?uri不能成功访问,那好,那就给你个404吧。
比较完整的例子是这样的:
try_files $uri $uri/ /index.php?s=$uri&$args;
如上所解释的,挨个访问$uri $uri/(也就是前一个路径在加上个/)如果这俩都不能访问,那就访问最后一个路径。$args是什么呢,很轻松的查到啦
This
variable is the GET
parameters in request line, e.g. foo=123&bar=blahblah
;
This variable could be changed.
所以不难理解上面地址的意思喽。
顺便手贱的又查看了下$uri以及$request_uri,发现如下
This variable is the current request URI, without any arguments (see $args for those). This variable will reflect any modifications done so far by internal redirects or the index module. Note this may be different from $request_uri, as $request_uri is what was originally sent by the browser before any such modifications. Does not include the protocol or hostname. Example: /foo/bar.html