Nginx查询参数

时间:2018-09-10 15:13:19

标签: nginx

我让Nginx托管了一些静态内容

location /help/ {

    default_type text/html;
    alias /etc/nginx/html/help;
    index index.html;
    }

如果提出请求,效果很好

例如http://www.blah.com/help

它将加载默认页面,并且可以正常工作。

但是,如果我请求http://www.blah.com/help/?_ga=xxxxxxxx .....

查询参数被请求并返回404。

所以实际上我的查询是我可以发出此请求并“忽略”查询参数,还是需要考虑其他方法-

例如代理密码和URL重写?

2 个答案:

答案 0 :(得分:0)

好吧,经过长时间的搜索,我自己解决了这个问题。

 location /help {
             if ($args ~* "_ga="){
              rewrite ^(.*)$ $uri? permanent;
              }
             default_type text/html;
             alias /etc/nginx/html/help;
             index index.html;
             }

万一有人遇到同样的问题

答案 1 :(得分:0)

如果条件评估需要进行正则表达式比较,则会为请求增加不必要的处理时间。

重新编写然后添加另一个正则表达式捕获并触发对重新编写的uri的新评估,从而增加了不必要的开销。

删除查询字符串实际上非常容易。它存储在$args变量中,因此请清除以下内容:

location /help/ {
    set $args '';
    ....