Почему PHP не видит строку запроса?

Этот phpinfo () демонстрирует проблему.

Я передаю URL-адрес строки запроса:

?qwerty=asdfg 

В результате я ожидаю, что он перечислит эти две переменные PHP:

 _REQUEST["qwerty"] asdfg _GET["qwerty"] asdfg 

А также эта строка запроса:

 _SERVER["QUERY_STRING"] qwerty=asdfg 

Однако он не работает. Ни одна из этих переменных, похоже, не установлена ​​вообще.

Я использую lighttpd. Это может быть или не быть связано с проблемой, но мой greengar.com-lighttpd.conf выглядит так, потому что я использую WordPress для большинства страниц домена:

 ### Generated by Elliot ### WordPress: http://www.greengar.com url.rewrite += ( "^/(wp-.+).*/?" => "$0", "^/(blog/wp-.+).*/?" => "$0", "^/(.*.php)" => "$0", "^/(.*.pdf)" => "$0", "^/(.*.png)" => "$0", "^/(.*.html)" => "$0", "^/(.*.ico)" => "$0", "^/(.*.gif)" => "$0", "^/(.*.txt)" => "$0", "^/(images).*/?" => "$0", "^/(sitemap.xml)" => "$0", "^/(xmlrpc.php)" => "$0", "^/(.+)/?$" => "/index.php/$1" ) 

Опять же, я не знаю точно, связано ли это с проблемой.

Мой вопрос: почему PHP не видит строку запроса?

И как мне это исправить?

Вот обычный phpinfo (), который успешно видит строку запроса. Это выполняется на другом сервере, на котором запущен Apache.

http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModRewrite

Внизу:

«Если вы хотите передать строку запроса (? Foo = bar) в пункт перезаписи, вы должны явно сопоставить ее:

И альтернатива – прочитать его через $ _SERVER ['REQUEST_URI']

Просто проверьте, но это должно быть $ _SERVER ["QUERY_STRING"] – ваш фактический код включает $?