带值的url -没有参数?(Get请求)


Urls with a value - without a parameter? (Get request)

我可能完全错了,但我很确定我以前见过这样的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"](文档)中过滤变量,在您的示例中应该是=1

最有可能使用重写规则。htaccess文件。这将把请求字符串转换为站点脚本脚本所期望的任何内容。

在本网站搜索重写引擎、重写规则和/或。htaccess将会得到大量关于此主题的信息。