php 友好URL的实现(吐血推荐)


Posted in PHP onOctober 04, 2008

友好URL的实现(吐血推荐)
大家经常看到别的站的URL是这样的吧?
http://www.xxx.com/module/show/action/list/page/7
或者
http://xx.com/module/show/action/show/id/8.shtml 带扩展名的
或者
http://xx.com/module/show/action/show/id/8?word=ss&age=11
这样的吧
今天我就是公布下这种方法的实现,并独立出最简单的代码
函数如下,没封装成类,主要是没必要,用函数能方便些

<?php 
/** 
* 获得友好的URL访问 
* 
* @access public 
* @return array 
*/ 
function getQueryString(){ 
$_SGETS = explode("/",substr($_SERVER['PATH_INFO'],1)); 
$_SLEN = count($_SGETS); 
$_SGET = $_GET; 
for($i=0;$i<$_SLEN;$i+=2){ 
if(!empty($_SGETS[$i]) && !empty($_SGETS[$i+1])) $_SGET[$_SGETS[$i]]=$_SGETS[$i+1]; 
} 
$_SGET['m'] = !empty($_SGET['m']) && is_string($_SGET['m']) ? trim($_SGET['m']).'Action' : 'indexAction'; 
$_SGET['a'] = !empty($_SGET['a']) && is_string($_SGET['a']) ? trim($_SGET['a']) : 'run'; 
return $_SGET; 
} 
/** 
* 生成链接URL 
* 
* @access public 
* @param array $arr 
* @return string 
*/ 
function setUrl($arr){ 
global $Global; 
$queryString=''; 
if($Global['urlmode']==2){ 
foreach($arr as $k=> $v){ 
$queryString.=$k.'/'.$v.'/'; 
} 
} 
$queryString.=$Global['urlsuffix']; 
return $queryString; 
} 
?>

使用很简单
<?php 
$_GET= getQueryString(); 
?>

但是这样还不行,这样只能实现
http://www.xxx.com/index.php/module/show/action/list/page/7 这样的
中间多了个index.php 为此我们要把他去掉,只好重写
但是有些文件 又不希望这样,比如 样式 图片,那就放条件里
建立一个 .htaccess文件
RewriteEngine on 
RewriteCond $1 !^(index\.php|css|pics|themes|js|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L]

现在OK了,赶快去测试吧
<?php 
$_GET= getQueryString(); 
print_r($_GET); 
?>
PHP 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
PHP中一个控制字符串输出的函数
Oct 09 PHP
一个图形显示IP的PHP程序代码
Oct 19 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
PHP使用数组实现队列
Feb 05 PHP
php中用于检测一个地理IP地址是否可用的代码
Feb 19 PHP
PHP可变函数的使用详解
Jun 14 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 PHP
PHP判断浏览器、判断语言代码分享
Mar 05 PHP
php获取json数据所有的节点路径
May 17 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
PHP注释实例技巧
Oct 03 #PHP
使用eAccelerator加密PHP程序
Oct 03 #PHP
一些使用频率比较高的php函数
Oct 03 #PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 #PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 #PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 #PHP
smarty section简介与用法分析
Oct 03 #PHP
You might like
实现树状结构的两种方法
2006/10/09 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
Javascript Objects详解
2014/09/04 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
python求crc32值的方法
2014/10/05 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
python实现各种插值法(数值分析)
2019/07/30 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
心理健康教育心得体会
2013/12/29 职场文书
计算机学生求职信范文
2014/01/30 职场文书
中国入世承诺
2014/04/01 职场文书
2014年三万活动总结
2014/04/26 职场文书
运动会广播稿200字
2014/10/18 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
安全保证书怎么写
2015/02/28 职场文书
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis