php - 为什么 PHP 看不到我的查询字符串?

标签 php parameters query-string

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'] 读取它

关于php - 为什么 PHP 看不到我的查询字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1581571/

相关文章:

用于 HTML 的 PHP SAX 解析器?

javascript - 带参数的 jQuery 函数

javascript - Javascript 中的查询字符串

javascript - 带有 QueryString 的 URL 未命中 MVC Controller 方法

javascript - 是否有查询字符串的 hashchange 之类的事件?

php - 如何使用 INNER JOIN 比较表并返回 true?

php - 从 mysql 表中选择最新元素

php - Uploadify 不传递变量,Session 问题?

java - 使用struts2重定向动态参数不起作用

javascript - 带 JS 变量的 PHP 系统调用