984网站建设项目,网站设计指南,南昌网站建设制作商,网站上的二维码怎么做Nginx
location 匹配的规则和优先级
Nginx常用的变量
rewrite: 重定向功能 Location
匹配 URI URI#xff1a;统一资源的表示符#xff0c;是一种字符串标识#xff0c;用于标识抽象或者物理资源
先来巩固一些与location结合使用的正则表达式 正则表达式#xff1a;匹…Nginx
location 匹配的规则和优先级
Nginx常用的变量
rewrite: 重定向功能 Location
匹配 URI URI统一资源的表示符是一种字符串标识用于标识抽象或者物理资源
先来巩固一些与location结合使用的正则表达式 正则表达式匹配的是文件内容
元字符 . 任意单个字符包括汉字 ^起始位置 $结束位置 *匹配前面的字符0次或者多次 匹配前面的字符一次或者多次 ?一次或0次 \转义符 [0-9A-Za-z]匹配0-9A-Za-z. [a]只能匹配a. {n}连续重复出现几次 {n,m}最少出现最多出现几次 ()分组 |逻辑或 location匹配的规则 精确匹配完全匹配错一个字都匹配到必须完全一致。^~ 匹配普通字符前缀匹配~$结束位置~ 区分大小写的匹配~* 不区分大小写的匹配!~ 区分大小写的匹配取的逻辑非 —— 取反!~* : 不区分大小写的取反 带有~的都表示正则表达式 location 用来匹配uri 精确匹配location / {...}正则匹配location ~ / {...}一般匹配 location / {...} location匹配规则官网 www.gsn.com/ 匹配的是A www.gsn.com/test 匹配的是B www.gsn.com/documengs/ 匹配的是C www.gsn.com/images/ 匹配的是D www.gsn.com/documents/1.jpg 匹配的是E 第一个规则 location / {} 直接匹配根网站。通过域名访问网站首页是最多的。使用精确匹配可以加快处理速度、首页。 第二个规则 location ^~ /static/ 处理静态文件的请求目录匹配 第三个规则 location ~* (gif / jpg / png / css)匹配图片用的 第四个规则——通用 location / { proxy_pass 指定代理反向代理转发动态请求。.php .jsp的请求发到后端 location /test/ { proxy_pass 指定代理反向代理转发动态请求将“.php”.jsp发到后端服务器 } 匹配的优先级 越精确优先级越高 精确匹配优先级最高 ~ 正则次之 / 通用的优先级最低 优先级 location location ^~ locatuin ~* location /test/ location / 一旦匹配到了之后不再向下匹配 Nginx内置变量 $remote_addr客户端的IP地址 $remote_port客户端的端口号 $server_addr服务器的IP地址。 $server_port服务器的端口号。 $request_method请求的HTTP方法如GET、POST、等。 x_forwarded_for:用于获取HTTP请求头中的X-Forwarded-For字段的值。 X-Forwarded-For是一个常见的HTTP请求头通常由代理服务器添加用于指示原始客户端的IP地址。 proxy_set_header X-Forwarded-For $remote_addr; 这个是传给后端。 X-Real-IP头部为客户端真实IP地址 proxy_set_header X-Real-IP $remote_addr; proxy_set_header指令来设置X-Real-IP头部的值为$remote_addr即客户端的真实IP地址 这样Nginx会将客户端的真实IP地址作为X-Real-IP头部的值传递给后端服务器。 查看客户端端口号服务端IP地址 扩展 $uri: 请求的URI不包含主机和查询参数。$request_uri: 请求的URI包含主机和查询参数。$args: 查询参数部分即?后面的内容。$query_string: 整个查询字符串包含?。$host: 请求的主机名。$http_user_agent: 请求的User-Agent头信息用于表示请求客户端浏览器和操作系统。$http_referer: 请求的Referer头信息表示当前页面的来源URL。$content_type: 请求的Content-Type头信息表示请求体的MIME类型。$content_length: 请求的Content-Length头信息表示请求体的长度。$scheme: 请求的协议通常是http或https。$request_filename: 请求的文件名用于指定请求的实际文件路径。$document_root: 当前请求的根目录。$server_name: 服务器名称用于匹配server块的server_name指令。 rewrite 重定向 *面
rewrite使用NGINX的全局变量或者是自己设置的变量结合正则表达式和标志位实现url的重定向。
rewrite执行顺序 执行server块当中的rewrite的执行location匹配如果location当中还有rewrite继续执行 不停rewrite死循环只能10次然后报错报错的状态码500 rewrite语法
rewrite regex repTacemnet [flag] rewrite开始重定向 regex正则匹配的规则 replacemnet表示跳转后的内容你要重定向的url flag标志位 标志位 permanent永久重定向返回码301永久性的变更url搜索引擎会转移他的权重以及排名到新的URLredirect临时重定向显示的返回码302用于短期变更网站维护或升级更新搜索引擎不会转移权重和排名到新的URL304表示获取的是本地缓存break是重定向但不会改变url而且只会请求一次跳出当前匹配即刻终止last本条负责匹配完成后继续向下匹配只要有last就继续匹配配置的时候需要注意防止死循环 扩展
以页面形式展示却以文本格式下载如何解决 日志中如下报错 rewrite or internal redirection cycle while processing #代表写成死循环一直在匹配location10次之后返回码500