0

如何获得静态的路由 url,当我使用 $_SERVER["PHPSELF"] 时,它会返回 url 的实际页面,例如

/show_products.php

但我的网址是这个

http://mysite.com/browse/department/?pid=1&order_by=a_z&filter=1

我想从 url 得到的就是这个

 http://mysite.com/browse/department/

而且我希望能够只获取 url 的部门部分,所以我的问题有两个部分

4

2 回答 2

1

URL 方案和主机名部分必须从请求 URI 单独处理:

// in your example, this results in "http://"
$scheme = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] <> 'off') ? 'https://' : 'http://';
// in your example, this results in "mysite.com"
$hostname = $_SERVER['SERVER_NAME'];
// in your example, this results in "/browse/department/"
$uri = $_SERVER['REQUEST_URI'];

把碎片放在一起:

// in your example, this results in "http://mysite.com/browse/department/"
echo $scheme . $hostname . $uri;

阅读有关$_SERVER[]数组内各种值的更多信息,或仅输出phpinfo()以轻松搜索$_SERVER[]数组以获取所需的值。

于 2013-04-07T00:41:15.087 回答
0

查看文档$_SERVER['REQUEST_URI']以获取“为访问此页面而给出的 URI” 。

请注意,REQUEST_URI 不包括主机名,您需要在 $_SERVER['SERVER_NAME'] 中拼接。

那么 phpparse_url()可能是为您提供不同部分的最简单方法,并快速深入了解您想要的内容。一旦您获得了来自 url (/browse/department) 的路径,您就可以在“/”上展开以获取各个路径片段。

见这里:http: //3v4l.org/6ssAI

于 2013-04-07T00:32:31.483 回答