Is there a bug in QUERY_STRING or try_files?

Hello all,

I found a problem when using try_files, it seems a tiny bug here.

Configuration section:

location / {
root /home/tee/abc.com;
try_files $uri /t.php;
}

other configuration sections like fastcgi settings are omitted. In t.php
file, I have some lines of code there:

<?php var_dump($_GET['q']); print_r($_SERVER); Now we will try to visit the site http://abc.com/search/?q=test $_SERVER['QUERY_STRING'] should be q=test and $_GET['q'] should be test as usual. BUT, we will see $_SERVER['QUERY_STRING'] and $_GET['q'] are both empty here. Is it a bug or configuration error? Posted at Nginx Forum: http://forum.nginx.org/read.php?2,33365,33365#msg-33365

I have written a php code to solve the problem.

<?php $uri = $_SERVER['REQUEST_URI']; $qs = $_SERVER['QUERY_STRING']; $uri = strtok($uri, '?'); $qs = $_SERVER['QUERY_STRING'] = strtok('?'); parse_str($qs, $qs_arr); $_REQUEST = array_merge($_REQUEST, $qs_arr); My blog post here: http://seaprince.cn/nginx-query_string-bug/ Posted at Nginx Forum: http://forum.nginx.org/read.php?2,33365,33366#msg-33366

On Fri, Dec 25, 2009 at 2:52 PM, seaprince [email protected] wrote:

nginx Info Page

I believe it should be
try_files $uri /t.php?$args;


O< ascii ribbon campaign - stop html mail - www.asciiribbon.org