nginx的location值里没有查询字符,所以在匹配地址时用不到查询字符
另外,rewrite时,默认会把查询字符带上的,加上问号即可解决。
假设要把 /question.php?qid=123 的地址跳转到 /question/123.html
我们会发现地址变成 /question/123.html?qid=123
你要的参数都可以找到 $arg_qid ( $arg_变量名称 )
nginx里面,在后面加上问号就可以不带上查询字符了
对值有要求的,可以匹配 $args ,比如(复制别人的)
原创内容如转载请注明:来自 阿权的书房
另外,rewrite时,默认会把查询字符带上的,加上问号即可解决。
假设要把 /question.php?qid=123 的地址跳转到 /question/123.html
location /question.php {
rewrite ^ /question/$arg_qid.html redirect;
}
rewrite ^ /question/$arg_qid.html redirect;
}
我们会发现地址变成 /question/123.html?qid=123
你要的参数都可以找到 $arg_qid ( $arg_变量名称 )
nginx里面,在后面加上问号就可以不带上查询字符了
location /question.php {
rewrite ^ /question/$arg_qid.html? redirect;
}
rewrite ^ /question/$arg_qid.html? redirect;
}
对值有要求的,可以匹配 $args ,比如(复制别人的)
location / {
if ($args ~* "/?param1=val1¶m2=¶m3=[0-9]+¶m4=.+¶m5=[0-9]+") {
rewrite ^ http://www.example.com/newparam/$arg_param3/$arg_param4? last;
}
}
if ($args ~* "/?param1=val1¶m2=¶m3=[0-9]+¶m4=.+¶m5=[0-9]+") {
rewrite ^ http://www.example.com/newparam/$arg_param3/$arg_param4? last;
}
}
原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
mac下修改svn的地址
转:下一站:HandlerSocket!
