more conf/fastcgi.conf 相关的内置变量

rewrite功能:使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用,例如 http://seanlook.com/a/we/index.php?id=1&u=str 只对/a/we/index.php重写。
语法:rewrite regex replacement [flag];

如果相对域名或参数字符串起作用,可以使用全局变量匹配,也可以使用proxy_pass反向代理。

表明看rewrite和location功能有点像,都能实现跳转,主要区别在于rewrite是在同一域名内更改获取资源的路径,而location是对一类路径做控制访问或反向代理,可以proxy_pass到其他机器。

很多情况下,rewrite也会写在location里,它们的执行顺序是:
    1. 执行server块的rewrite指令
    2. 执行location匹配
    3. 执行选定的location中的rewrite指令
如果其中某步URI被重写,则重新循环执行1-3,直到找到真实存在的文件;循环超过10次,则返回500 Internal Server Error错误。


if 空格(条件){
  重写模式
}
条件怎么写?
 1: = 来判断相等,用于字符串比较
 2:~ 用正则来匹配(此处的正则区分大小写)
    ~* 不区分大小写
3: -f -d -e 来判断是否为文件,为目录,是否存在

例:直接将192.168.122.1用户屏蔽,使得它不能访问Nginx
\"在这里插入图片描述\"

收藏 打印