nginx应该添加参数,如果特殊的头存在



是否有任何简单的方法与nginX添加一个参数的路径
我是新的nginX和有点困惑的配置。(长期Apache用户):

我想做的例子:

Request Header : 
GET /xxxx/yyyy?page=10 HTTP/1.1.
x-my-special : true.
If (x-my-special is true) ; then 
add_parameter(x-my-special=true) 

Result before the web application get it : 
Path : /xxxx/yyyy?page=10&x-my-special=true

将会很好如果你能帮助或对我暗示。

If

/xxxx/yyyy?x-my-special=true&page=10

不是

/xxxx/yyyy?page=10&x-my-special=true

对你来说没问题,最简单的方法就是

if ($http_x_my_special = true) {
rewrite ^ $uri?x-my-special=true;
}

或者,从X-My-Special标头中添加任何非空值:

if ($http_x_my_special) {
rewrite ^ $uri?x-my-special=$http_x_my_special;
}

这个if块应该放在server配置级别。然而,根据你的实际配置,这个块可能会被执行不止一次,唯一正确放置它的方法是查看你的整个nginx配置。

相关内容

  • 没有找到相关文章