PHP中的$_SERVER['PATH_INFO']
来源:互联网 发布:台州信息网源码 编辑:程序博客网 时间:2024/06/05 05:47
PHP中的全局变量$_SERVER['PATH_INFO']是一个很有用的参数,众多的CMS系统在美化自己的URL的时候,都用到了这个参数。
对于下面这个网址:
http://www.test.com/index.php/foo/bar.html?c=index&m=search
我们可以得到 $_SERVER['PATH_INFO'] = ‘/foo/bar.html’,而此时 $_SERVER['QUERY_STRING'] = 'c=index&m=search';
通 常,我们最初开始PHP程序编写的时候,都会使用诸如: http://www.test.com/index.php?c=search&m=main 这样的URL,这种URL不仅看起来非常奇怪,而且对于搜索引擎也是非常不友好的。很多搜索引擎收录的时候,都会忽略Query String之后的内容,google虽然不会忽略Query String,但是对于其他不含Query String的页面,会给于比较高的PR值。
下面是一段解析PATH_INFO的非常简单的代码:
参考资料:
1、PHP Parse Pathinfo
2、CPAN PathInfo
对于下面这个网址:
http://www.test.com/index.php/foo/bar.html?c=index&m=search
我们可以得到 $_SERVER['PATH_INFO'] = ‘/foo/bar.html’,而此时 $_SERVER['QUERY_STRING'] = 'c=index&m=search';
通 常,我们最初开始PHP程序编写的时候,都会使用诸如: http://www.test.com/index.php?c=search&m=main 这样的URL,这种URL不仅看起来非常奇怪,而且对于搜索引擎也是非常不友好的。很多搜索引擎收录的时候,都会忽略Query String之后的内容,google虽然不会忽略Query String,但是对于其他不含Query String的页面,会给于比较高的PR值。
下面是一段解析PATH_INFO的非常简单的代码:
<?php
if( !isset( $_SERVER['PATH_INFO'] ) ){
$pathinfo = 'default';
}else{
$pathinfo = explode('/', $_SERVER['PATH_INFO']);
}
if( is_array($pathinfo) && !empty($pathinfo) ){
$page = $pathinfo[1];
}else{
$page = 'a.php';
}
require "$page.php";
?>
if( !isset( $_SERVER['PATH_INFO'] ) ){
$pathinfo = 'default';
}else{
$pathinfo = explode('/', $_SERVER['PATH_INFO']);
}
if( is_array($pathinfo) && !empty($pathinfo) ){
$page = $pathinfo[1];
}else{
$page = 'a.php';
}
require "$page.php";
?>
参考资料:
1、PHP Parse Pathinfo
2、CPAN PathInfo
0 0
- PHP中的$_SERVER['PATH_INFO']
- PHP中的$_SERVER['PATH_INFO']
- PHP中的$_SERVER['PATH_INFO']
- PHP中的$_SERVER['PATH_INFO']
- php $_SERVER['path_info'] 失效
- $_SERVER['PATH_INFO']
- Parsing $_SERVER['PATH_INFO']
- $_SERVER 缺少 PATH_INFO参数
- .PHP中的$_SERVER["HTTP_REFERER"]
- php中的$_SERVER
- php中的$_SERVER['SERVER_NAME']
- PHP中的$_SERVER["HTTP_REFERER"] 以及 $_SERVER["REQUEST_URI"];
- PHP中$_SERVER中的应用
- PHP中的$_SERVER 与 getenv
- php中的超全局变量$_SERVER
- PHP 中的$_SERVER变量学习
- php Undefined PATH_INFO
- PHP PATH_INFO 存在漏洞
- 8个超实用的jQuery技巧攻略
- Redis Redis(2.6版本以上) Key 常用操作和方法详解
- Android R.java文件丢失的问题
- Openvswich
- c/c++ 打印float的二进制表示
- PHP中的$_SERVER['PATH_INFO']
- 计算机技术和通信技术紧密结合的产物
- 题目1550:分糖果
- 一个简单的Makefile示例
- Apache Hadoop 2.2.0 HDFS HA + YARN多机部署
- jquery 切换 行是否显示
- java Hash系列(1)--散列与散列码
- oracle实例内存(SGA和PGA)调整
- outlook用户密码无法保存