浅析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压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
php学习笔记之面向对象编程
Dec 29 PHP
php数据库备份还原类分享
Mar 20 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
php常用正则函数实例小结
Dec 29 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
PHP 实现链式操作
Mar 09 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
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
PHP实现小偷程序实例
2016/10/31 PHP
php实现简单加入购物车功能
2017/03/07 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
Python中实现的RC4算法
2015/02/14 Python
详解C++编程中一元运算符的重载
2016/01/19 Python
Python Socket编程详细介绍
2017/03/23 Python
python基础之入门必看操作
2017/07/26 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
C++面试题:关于链表和指针
2013/06/05 面试题
房地产出纳岗位职责
2013/12/01 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
企业领导对照检查材料
2014/08/20 职场文书
争先创优心得体会
2014/09/12 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android