浅析ThinkPHP中的pathinfo模式和URL重写


Posted in PHP onJanuary 06, 2014
http://serverName/appName/module/action/id/1/

这个就是pathinfo模式

在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如:

http://serverName/appName/module/action/year/2008/month/09/day/21/

通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。
下面是Apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

对于重来没接触过.htacces文件的可以百度一些,这里提醒一下,保存的文件名就是 .htaccess,可能看起来只有后缀,就是这样,别又在前面加个  ***.htaccess。

重启Apache之后,原来的
http://serverName/index.php/Blog/read/id/1
就可以通过访问
http://serverName/Blog/read/id/1
简化了URL地址

PHP 相关文章推荐
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
php实现点击可刷新验证码
Nov 07 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
php实现URL加密解密的方法
Nov 17 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
Smarty模板类内部原理实例分析
Jul 03 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
php Calender(日历)代码分享
Jan 03 #PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 #PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 #PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 #PHP
php curl模拟post提交数据示例
Dec 31 #PHP
codeigniter使用技巧批量插入数据实例方法分享
Dec 31 #PHP
PHP字符串的连接的简单实例
Dec 30 #PHP
You might like
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
jquery ready()的几种实现方法小结
2010/06/18 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
解析vue中的$mount
2017/12/21 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
python更改已存在excel文件的方法
2018/05/03 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
酒后驾驶检讨书
2014/01/27 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
企业宣传策划方案
2014/05/29 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
大学生毕业评语
2014/12/31 职场文书
毕业实习计划书
2015/01/16 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL