Neden PHP benim sorgu dizesi görmeye değil mi?

2 Cevap php

Bu phpinfo() sorunu gösterir.

Ben URL'yi bir sorgu dizesi geçiyorum:

?qwerty=asdfg

Sonuç olarak, ben bu iki PHP değişkenleri listelemek için bekliyorum:

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

Ve de bu sorgu dizesi:

_SERVER["QUERY_STRING"] qwerty=asdfg

Ancak, bu çalışma değil. Bu değişkenlerin hiçbiri tüm set gibi görünüyor.

Ben lighttpd kullanıyorum. Bu veya olmayabilir sorunu ile ilgili olabilir, ama etki sayfalarının çoğu için WordPress kullanıyorum çünkü benim greengar.com-lighttpd.conf, bu gibi görünüyor:

### 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"
)

Yine, ben bu sorunla ilgili olup olmadığından emin değiliz.

Benim soru şudur: neden sorgu dizesi görme PHP değil mi?

Ve ben bunu nasıl düzeltebilirim?

İşte normal phpinfo() başarıyla sorgu dizesi görür. Bu Apache çalıştıran farklı bir sunucuda çalışıyor.

2 Cevap

http://redmine.lighttpd.net/wiki/lighttpd/Docs%3AModRewrite

Altta:

"Eğer yeniden yazma hedefe Sorgu String (? Foo = bar) geçmek istiyorsan açıkça eşleşmesi gerekir:"

Ve alternatif $ _SERVER ['REQUEST_URI'] aracılığıyla okumak için

Sadece ["QUERY_STRING"] denetimi ama $ _SERVER olmalı - gerçek kodu $ içerir?