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 相关文章推荐
将数字格式的计算结果转为汉字格式
Oct 09 PHP
php学习 函数 课件
Jun 15 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
php字符集转换
Jan 23 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
laravel实现前后台路由分离的方法
Oct 13 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
PHP chop()函数讲解
2019/02/11 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
Exjs 入门篇
2010/04/07 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
jquery移动节点实例
2015/01/14 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
pandas 数据类型转换的实现
2020/12/29 Python
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
什么是SCM(软件配置管理)
2014/08/16 面试题
节水倡议书
2015/01/19 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
幼儿园教研工作总结2015
2015/05/12 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
Python使用Kubernetes API访问集群
2021/05/30 Python
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server