由于nginx配置错误,导致php _SERVER[‘QUERY_STRING’]获取不到内容

作者

处理wordpress一个问题的时候,发现 _SERVER['QUERY_STRING'] 获取不到任何内容,环境是 nginx + php 。 后检查了一下发现是nginx配置错误的原因。

因为wordpress启用了伪静态,所以配置重新规则的时候,重写规则中 query_string 不能省略掉。

    location / {
        #try_files $uri $uri/ /index.php?$query_string;
        try_files $uri $uri/ /index.php?$args;
    }

上面是正确的配置,如果是直接写成

 location / {
        try_files $uri $uri/ /index.php;
    }

当访问的文件找不到的时候,就会出现 QUERY_STRING丢失的情况。

回复

您的电子邮箱地址不会被公开。