nginx.conf中location和rewrite配置里一些符号的含义

nginx. conf 是 Nginx 默认的主配置文件,所有功能的实现都与此文件的配置相关。
配置文件结构
打开 nginx. conf 配置文件,从整体结构可以看出,该配置文件主要由以下几部分组成。

main
events {...}
http {
    server {
        location {...}
    }
}


从上面的结构可以看出, Nginx 的默认主配置文件主要由 main、 events、 http、 server 和 location 5 个块组成 ,关于各个块的作用,详见表 1 所示 。 并且对于嵌套块(如 http、 server、 location)中的指令,执行的顺序为从外到内依次执行,内层块中的大部分指令会自动 获取外层块指令的值作为默认值,只有某些特殊指令除外。

                                                                          表1 配置文件结构

说明
main 主要控制 Nginx 子进程所属的用户和用户组、派生子进程数、错误日志位置与级别、 pid 位置、子进程优先级、进程对应 CPU、进程能够打开的文件描述符数目等
events 控制 Nginx 处理连接的方式
http Nginx 处理 http 请求的主要配置块,大多数配置都在这里面进行
server Nginx 中主机的配置块,可用于配置多个虚拟主机
location server 中对应目录级别的控制块 ,可以有多个


 

location用于实现访问控制的前缀:

~      波浪线表示执行一个正则匹配,区分大小写

~*    表示执行一个正则匹配,不区分大小写

^~    ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录

=      进行普通字符精确匹配


 

rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向.
rewrite 格式为: rewrite 规则 定向路径 重写类型;
规则可以是字符串或者正则来表示想匹配的目标url
rewrite ^/(.*)$ /index.php/$1 last;意思就是讲例如 www.xx.com/abc/bcd 解析为www.xx.com/index.php/abc/bcd

last 表示完成rewrite,浏览器地址栏URL地址不变还是显示 www.xx.com/abc/bcd 且rewrite后的/index.php/abc/bcd 会重新进行location匹配.


 

你可能感兴趣的:(nginx)