浅析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新手上路(五)
Oct 09 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
基于empty函数的输出详解
Jun 17 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
基于PHP实现用户注册登录功能
Oct 14 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
May 02 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
利用javascript查看html源文件
2006/11/08 Javascript
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
写的htc的数据表格
2007/01/20 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
vue组件间通信解析
2017/03/01 Javascript
详解Vue方法与事件
2017/03/09 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
2014年项目工作总结
2014/11/24 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
个人借条范本
2015/05/25 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
Python并发编程实例教程之线程的玩法
2021/06/20 Python
vue实现锚点定位功能
2021/06/29 Vue.js
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL