长沙找工作哪个网站好,wordpress的导航菜单,wordpress 收录 改版,网页设计课程报告总结Nginx重写功能 一、Nginx常见模块二、访问路由location2.1location常用正则表达式2.2、location的分类2.3、location常用的匹配规则2.4、location优先级排列说明2.5、location示例2.6、location优先级总结2.7、实例2.7.1、location/{}与location/{}2.7.2、location/index.html{… Nginx重写功能 一、Nginx常见模块二、访问路由location2.1location常用正则表达式2.2、location的分类2.3、location常用的匹配规则2.4、location优先级排列说明2.5、location示例2.6、location优先级总结2.7、实例2.7.1、location/{}与location/{}2.7.2、location/index.html{}与location/{} 三、return指令3.1定义和作用3.2、基本语法 一、Nginx常见模块
http http块是Nginx服务器配置中的重要部分代理缓存和日志定义等绝大多数功能和第三方模块的配置都可以放在这个模块中、用包括引入MIME-Type定义、日志自定义是否使用sendfle传输文件、连接超时时间单链接请求数上限等server server块虚拟主机虚拟服务器。作用使得Nginx服务器可以在同一台服务器上只要运行一组Nginx进程就可以运行多个网站location location块是serve块的一个指令。作用基于Nginx服务器收到的请求字符串虚拟主机名称url匹配对特定请求进行处理
二、访问路由location
2.1location常用正则表达式
匹配符表示含义^匹配输入字符串的起始位置$匹配输入字符串的结束位置*匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”匹配前面的字符一次或多次。如“ol”能匹配“ol”及“oll”、“olll”但不能匹配“o”匹配前面的字符零次或一次例如“does”能匹配“do”或者“does”“”等效于“{01}”.表示任意一个字符|转义字符 用于取消特殊符号的含义|d 匹配纯数字\s匹配空的空格或者制表符{n}匹配前面的子表达式n次{n,}匹配前面的子表达式不少于n次{n,m}匹配前面的子表达式n到m次[ ]匹配括号中的一个字符[c]匹配单个字符 c[a-z]匹配 a-z 小写字母的任意一个[a-zA-Z0-9]匹配所有大小写字母或数字()表达式的开始和结束位置l或运算符
2.2、location的分类
精准匹配location/{}一般匹配location/{}正则匹配location~/{}
2.3、location常用的匹配规则
规则表达式规则含义进行普通字符精确匹配。也就是完全匹配^~表示普通字符匹配。使用前缀匹配。如果匹配成功则不再匹配其他 location~表示执行一个正则匹配区分大小写~*表示执行一个正则匹配不区分大小写!~表示执行一个正则匹配区分大小写不匹配!~*表示执行一个正则匹配不区分大小写不匹配
2.4、location优先级排列说明
1.首先精确匹配 2.其次前缀匹配^~ 3.其次是按文中顺序的正则匹配或* 4.然后匹配不带任何修饰的前缀匹配 5.最后是交给/通用匹配
location / {[ configuration A ]
}location / {[ configuration B ]
}location /documents/ {[ configuration C ]
}location ^~ /images/ {[ configuration D ]
}location ~* \.(gif|jpg|jpeg)$ {[ configuration E ]
}2.5、location示例
1.精确匹配
location / {}
为精确匹配 / , 主机名后不能携带任何字符串比如 / 和 /data ,则/匹配/data不匹配2.一般匹配/通用匹配
location / {}
代表以/开头所以这条规则将匹配所有的请求location /documents/ {}
匹配任何以/documents/开头的地址匹配符合后还会继续往下搜索其他 location只有其它location后面的正则表达式没有匹配到时才会用这一条location /documents/abc {}
匹配任何以/documents/abc开头的地址匹配符合后还会继续往下搜索其他 location只有其它location后面的正则表达式没有匹配到时才会用这一条3.正则匹配
location ^~ /images/ {}
匹配任何已/images/ 开头的地址匹配符合后停止往下搜索采用这一条location ~* \.(gif|jpg|jpeg)$ {}
匹配所有 gif jpg 或 jepg 结尾的请求
如果 有上面的location ^~ /images/ {}匹配 则会先匹配上一请求所以到不了这一条。2.6、location优先级总结
如果是匹配某个具体文件 (location 完整路径) (location ^~ 完整路径) (location ~* 完整路径) (location ~ 完整路径) (location /)通用匹配
2.7、实例
2.7.1、location/{}与location/{}
实例1location/{}和location/{}按道理应匹配前者但实际确实匹配后者匹配只写域名精确匹配不生效接下来一个小例子说明一下
1. #在配置文件添加匹规则
vim /usr/local/nginx/conf/nginx.conf#添加的网页location / { root /web/dog/;}#默认网页location / {root html;index index.html index.htm; }2. #新建网页站点目录
mkdir -p /web/dog3. #在站点目录下新建index.html
vim /web/dog/index.htmlthis is dog web4. #检查语法并重启
nginx -t
systemctl restart nginx.service 5. #在网页中测试
http://192.168.59.118/ 2.7.2、location/index.html{}与location/{}
在根后加上index.html后生效
1. #修改一下配置文件
vim /usr/local/nginx/conf/nginx.conflocation /index.html { # 加上index.html root /web/dog/;}2. #重启服务并网页中测试
systemctl restart nginx.service 三、return指令
3.1定义和作用
return用于完成对请求的处理并直接向客户端返回响应状态码
3.2、基本语法
return code [text]; #返回给客户端的状态码及响应报文的实体内容可以调用变量,其中text如果有空格,需要用单或双引号return code url; #返回给客户端的URL地址
如果要跳转到url code只能是302或者301对应临时/永久重定向301 客户机访问服务器时服务器会将跳转缓存到客户机中下次跳转就不需要服务器从客户机本地缓存调取。
302 临时