【发布时间】:2011-11-21 19:50:03
【问题描述】:
我可能完全偏离了基础,但我很确定我以前见过这样结构的 URL:
http://www.example.com/dir/?=1 没有传递可见参数,但给出了一个值。
如果这是一个有效的 url 结构,如何在 PHP 中获取参数值1?
【问题讨论】:
我可能完全偏离了基础,但我很确定我以前见过这样结构的 URL:
http://www.example.com/dir/?=1 没有传递可见参数,但给出了一个值。
如果这是一个有效的 url 结构,如何在 PHP 中获取参数值1?
【问题讨论】:
无法通过$_GET 获得此值。我只在$_SERVER["QUERY_STRING"] 或$_SERVER["REQUEST_URI"] 中找到它。所以我假设你必须自己解析这些变量。
【讨论】:
这是我用来读取此类 URL 的快速而肮脏的函数
function get_url_params() {
$param_count = 0;
$params = array();
foreach (explode('&', $_SERVER['QUERY_STRING']) as $param) {
$param = explode('=', $param);
if ($param[0] == '') {
$params[$param_count] = $param[1];
} else {
$params[$param[0]] = $param[1];
}
$param_count++;
}
return $params;
}
print_r(get_url_params());
【讨论】:
您可以手动过滤来自 $_SERVER["QUERY_STRING"] (documentation) 的变量,对于您的示例应该是 =1。
【讨论】:
很可能使用重写规则 .htaccess 文件。这会将请求字符串转换为站点脚本所期望的任何内容。
在此站点上搜索重写引擎、重写规则和/或 .htaccess 将获得有关此主题的大量信息。
【讨论】: