配置(1)
location / {
rewrite ^(.*)$ /app$request_uri last;
}
配置(2)
location / {
rewrite ^(.*)$ /app$1 last;
}
有什么区别吗。
我的接口是rest接口。访问路径为http://ip:port/项目名/sayHello?name=name
使用nginx代理,现在想通过http://127.0.0.1/sayHello?name=name 访问
但是如果使用配置(1)访问,就会访问报404错误
原因是No operation matching request path "/app/sayHello%3Fname=name" is found
问号被编码成了%3F;而用配置(1)访问则没问题
http://www.cnblogs.com/lbblog/p/5551400.html
(1)和(2)本质上是有区别的。
(1)中$request_uri是url后面的所有参数,正常加载url后面
(2)中$1是正则匹配的第一个结果,里面的特殊字符会被转义。
问题描述反了,使用$request_uri的时候会被编码
http://www.cnblogs.com/Coding-Virus/p/5680241.html