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 相关文章推荐
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 PHP
怎样去阅读一份php源代码
Aug 21 PHP
PHP Array交叉表实现代码
Aug 05 PHP
php while循环得到循环次数
Oct 26 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
PHP时间函数使用详解
Mar 21 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防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
详解javascript void(0)
2020/07/13 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
Python常见数据结构详解
2014/07/24 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
2019/05/23 Python
零基础学python应该从哪里入手
2020/08/11 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
避暑山庄导游词
2015/02/04 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
超级详细实用的pycharm常用快捷键
2021/05/12 Python
Javascript设计模式之原型模式详细
2021/10/05 Javascript
python 镜像环境搭建总结
2022/09/23 Python