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 相关文章推荐
ftp类(example.php)
Oct 09 PHP
example1.php
Oct 09 PHP
php实现快速排序法函数代码
Aug 27 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 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
自己做矿石收音机
2021/03/02 无线电
php 多关键字 高亮显示实现代码
2012/04/23 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
python3转换code128条形码的方法
2019/04/17 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
浅析Python的命名空间与作用域
2020/11/25 Python
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
学年自我鉴定
2014/01/16 职场文书
大学生毕业鉴定
2014/01/31 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
爱心捐款活动总结
2015/05/09 职场文书
教你nginx跳转配置的四种方式
2022/07/07 Servers