php获取静态网址并获取网址的部分

时间:2013-04-07 00:29:49

标签: php

如何获取静态的路由网址,当我使用$ _SERVER [“PHPSELF”]时,它会返回网址的实际网页,例如

/show_products.php

但我的网址是

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

我想从网址获取的只是这个

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

并且我希望能够获取网址的部门部分,因此我的问题分为两部分

2 个答案:

答案 0 :(得分:1)

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

// 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[]数组中所需的值。

答案 1 :(得分:0)

查看$_SERVER['REQUEST_URI']以获取“为了访问此页面而提供的URI”per the docs

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

然后,php的parse_url()可能是最简单的方式来为您提供不同的部分,并快速深入了解您的需求。从url(/ browse / department)获得路径后,您可以在“/”上展开以获取各个路径段。

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