Nginx rewrite

nginx rewrite 参数 以及 $1$2 参数解析

rewrite ^/(user_\d)/(\d).html$ https://$host/?$1 permanent;
上面写的是重写规则,$ 代表的是参数,所以一定是 () 包含的

(): 用于匹配括号之间的内容,通过 $1$2 调用
$1: 就是 user_\d
$2: 就是 \d

举个例子
https://www.example.com/user_1/2.html
这里 $1 就是 user_1
$2 就是 2

$1                                      #请求中第一个匹配到的字符
$args                                   #请求中的参数值
$query_string                           #同 $args
$arg_NAME                               #GET请求中NAME的值
$is_args                                #如果请求中有参数,值为"?",否则为空字符串
$uri                                    #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"。
$document_uri                           #同 $uri
$document_root                          #当前请求的文档根目录或别名
$host                                   #优先级:HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名.请求中的主机头字段,如果请求中的主机头不可用,则为服务器处理请求的服务器名称
$hostname                               #主机名
$https                                  #如果开启了SSL安全模式,值为"on",否则为空字符串。
$binary_remote_addr                     #客户端地址的二进制形式,固定长度为4个字节
$body_bytes_sent                        #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容
$bytes_sent                             #传输给客户端的字节数
$connection                             #TCP连接的序列号
$connection_requests                    #TCP连接当前的请求数量
$content_length                         #"Content-Length" 请求头字段
$content_type                           #"Content-Type" 请求头字段
$cookie_name                            #cookie名称
$limit_rate                             #用于设置响应的速度限制
$msec                                   #当前的Unix时间戳
$nginx_version                          #nginx版本
$pid                                    #工作进程的PID
$pipe                                   #如果请求来自管道通信,值为"p",否则为"."
$proxy_protocol_addr                    #获取代理访问服务器的客户端地址,如果是直接访问,该值为空字符串
$realpath_root                          #当前请求的文档根目录或别名的真实路径,会将所有符号连接转换为真实路径
$remote_addr                            #客户端地址
$remote_port                            #客户端端口
$remote_user                            #用于HTTP基础认证服务的用户名
$request                                #代表客户端的请求地址
$request_body                           #客户端的请求主体:此变量可在location中使用,将请求主体通过proxy_pass,fastcgi_pass,uwsgi_pass和scgi_pass传递给下一级的代理服务器
$request_body_file                      #将客户端请求主体保存在临时文件中。文件处理结束后,此文件需删除。如果需要之一开启此功能,需要设置client_body_in_file_only。如果将次文件传 递给后端的代理服务器,需要禁用request body,即设置proxy_pass_request_body off,fastcgi_pass_request_body off,uwsgi_pass_request_body off,or scgi_pass_request_body off
$request_completion                     #如果请求成功,值为"OK",如果请求未完成或者请求不是一个范围请求的最后一部分,则为空
$request_filename                       #当前连接请求的文件路径,由root或alias指令与URI请求生成
$request_length                         #请求的长度 (包括请求的地址,http请求头和请求主体)
$request_method                         #HTTP请求方法,通常为"GET"或"POST"
$request_time                           #处理客户端请求使用的时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$request_uri                            #这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:"/cnphp/test.php?arg=freemouse"
$scheme                                 #请求使用的Web协议,"http" 或 "https"
$server_addr                            #服务器端地址,需要注意的是:为了避免访问linux系统内核,应将ip地址提前设置在配置文件中
$server_name                            #服务器名
$server_port                            #服务器端口
$server_protocol                        #服务器的HTTP版本,通常为 "HTTP/1.0" 或 "HTTP/1.1"
$status                                 #HTTP响应代码
$time_iso8601                           #服务器时间的ISO 8610格式
$time_local                             #服务器时间(LOG Format 格式)
$cookie_NAME                            #客户端请求Header头中的cookie变量,前缀"$cookie_"加上cookie名称的变量,该变量的值即为cookie名称的值
$http_NAME                              #匹配任意请求头字段;变量名中的后半部分NAME可以替换成任意请求头字段,如在配置文件中需要获取http请求头:"Accept-Language",$http_accept_language即可
$http_cookie                       #请求的所有cookie
$http_host                              #请求地址,即浏览器中你输入的地址(IP或域名)
$http_referer                           #url跳转来源,用来记录从那个页面链接访问过来的
$http_user_agent                        #用户终端浏览器等信息
$http_x_forwarded_for                   #客户端的IP和代理服务器的IP,以逗号隔开;可伪造
$http_x_forwarded_proto                 #请求的协议
$sent_http_NAME                         #可以设置任意http响应头字段;变量名中的后半部分NAME可以替换成任意响应头字段,如需要设置响应头Content-length,$sent_http_content_length即可
$sent_http_cache_control
$sent_http_connection
$sent_http_content_type
$sent_http_keep_alive
$sent_http_last_modified
$sent_http_location
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容