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 相关文章推荐
用缓存实现静态页面的测试
Dec 06 PHP
php学习 函数 课件
Jun 15 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
redis 队列操作的例子(php)
Apr 12 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 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
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
python利用正则表达式提取字符串
2016/12/08 Python
python中的计时器timeit的使用方法
2017/10/20 Python
从0开始的Python学习016异常
2019/04/08 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
佛光寺导游词
2015/02/10 职场文书
如何使用SQL Server语句创建表
2022/04/12 SQL Server
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL