nginx try_files $uri $request_filename $request_uri $document_uri介绍

try_files

try_files
例子:
location / {
  try_files $uri $uri/ /index.php
}
首先尝试打开指定path的文件,如果文件不存在,则继续打开下一个文件,如果都打不开则返回500

假设请求为http://www.baidu.com/test,则$uri为test

访问时查找/$root/test文件没,如果不存在就尝试打开/$root/test/目录,如果还不存在就打开/index.html

$uri

$uri:这个变量指当前的请求URI,不包括任何参数(见$args)。这个变量反映任何内部重定向或index模块所做的修改。注意,这和$request_uri不同,因$request_uri是浏览器发起的不做任何修改的原生URI。不包括协议及主机名。
如果一个完整的url为http://www.baidu.com/stat.php?id=1585378&web_id=1585378   那么$uri获取的就是:/stat.php
如果一个完整的url为http://127.0.0.1/  那么$uri获取的值是:/index.html


$request_filename

$request_filename:当前请求的文件路径,由root或alias指令与URI请求生成。
假设一个请求是http://www.baidu.com:8080/a/b/c.php
那么$request_filename取值为:/var/www/html/a/b/c.php

$request_uri

$request_uri:这个变量等于从客户端发送来的原生请求URI,包括参数。它不可以进行修改。
如果一个完整的url为http://www.baidu.com/stat.php?id=1585378&web_id=1585378  那么$request_uri获取的就是:/stat.php?id=1585378&web_id=1585378。不包括协议和主机名
如果一个完整的url为:http://127.0.0.1/   那么$request_uri获取的值是: /

$document_uri

$document_uri:这个参数获取的值和$uri是一样的,也是/stat.php
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?