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 相关文章推荐
一些PHP写的小东西
Dec 06 PHP
小文件php+SQLite存储方案
Sep 04 PHP
php array的学习笔记
May 16 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
学习php中的正则表达式
Aug 17 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 PHP
浅析PHP echo 和 print 语句
Jun 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP 文件上传功能实现代码
2009/06/24 PHP
php 生成文字png图片的代码
2011/04/17 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
python统计日志ip访问数的方法
2015/07/06 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
python中的json总结
2018/10/11 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
环境科学专业个人求职的自我评价
2013/11/28 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
大学生旷课检讨书
2014/01/22 职场文书
一年级班主任感言
2014/03/08 职场文书
中学生评语大全
2014/04/18 职场文书
初中学生评语大全
2014/04/24 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android