nginx 里面使用 if 指令

可以用作 if 判断的全局变量

$args : #这个变量等于请求行中的参数,同 $query_string
$content_length : #请求头中的 Content-length 字段。
$content_type : #请求头中的 Content-Type 字段。
$document_root : #当前请求在 root 指令中指定的值。
$host : #请求主机头字段,否则为服务器名称。
$http_user_agent : #客户端 agent 信息
$http_cookie : #客户端 cookie 信息
$limit_rate : #这个变量可以限制连接速率。
$request_method : #客户端请求的动作,通常为 GET 或 POST 。
$remote_addr : #客户端的 IP 地址。
$remote_port : #客户端的端口。
$remote_user : #已经经过 Auth Basic Module 验证的用户名。
$request_filename : #当前请求的文件路径,由 root 或 alias 指令与 URI 请求生成。
$scheme : # HTTP方法(如 http , https )。
$server_protocol : #请求使用的协议,通常是 HTTP/1.0 或 HTTP/1.1 。
$server_addr : #服务器地址,在完成一次系统调用后可以确定这个值。
$server_name : #服务器名称。
$server_port : #请求到达服务器的端口号。
$request_uri : #包含请求参数的原始 URI ,不包含主机名,如:”/foo/bar.php?arg=baz”。
$uri : #不带请求参数的当前 URI,$uri 不包含主机名,如 ”/foo/bar.html”。
$document_uri : #与 $uri 相同。

继续阅读

二级目录隐藏 index.php 路径

nginx_rewrite 规则介绍

rewrite 使用 nginx 提供的全局变量和自己设置的变量,结合正则表达式和标志位 实现 url 重写以及重定位。

rewrite 只能放在 server{},location{},if{} 中使用,并且只能对域名后边的除去传递的参数外的字符串起作用,例如 http://domain.com/shop/goods/index.php?id=1&u=str 只能对 /shop/goods/index.php 重写。

rewrite 语法规则: rewrite regex replacement [flag]; // rewrite 正则表达式 替换文本;

隐藏 index.php 路径

示例代码

location / {
    index  index.html index.htm index.php;  

    if (!-e $request_filename) { # 如果文件或文件夹不存在则重写
        rewrite ^/(.*)$ /index.php?$1 last;
        break;
    }
}

继续阅读

国内镜像安装Homebrew

1.官方安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.国内镜像安装

获取brew_install文件

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install

编辑brew_install文件

#BREW_REPO = "https://github.com/Homebrew/brew".freeze
BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze

继续阅读