CodeIgniter配置之routes.php用法实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-06 11:11:07 浏览: 评论:0
这篇文章主要介绍了CodeIgniter配置之routes.php用法,结合实例形式分析了routes.php中常用配置参数的含义及具体使用技巧,需要的朋友可以参考下。
本文实例分析了CodeIgniter配置之routes.php用法,分享给大家供大家参考,具体如下:
application/config/routes.php中定义了一个名为$route的数组,用来设置默认路由和404页面以及可以设置一些匹配方式。
默认的配置如下:
$route['default_controller'] = "welcome";
$route['404_override'] = '';
default_controller指定默认的控制器名称,404_override指定当出现404时调用的控制器名称。有时候可能出现解析不成功,或者一直在默认页面,我们可以调用$this->router打印一下当前解析的控制器和Acion名称。比如可以在MY_Controller中如下打印:
var_dump($this->router->fetch_directory());
var_dump($this->router->fetch_class());
var_dump($this->router->fetch_method());
确定下解析到哪个控制器了, 然后在看看URL的配置、服务器配置,以及可以在Router.php 和URI.php中调试下。
$route数组也可以通过通配符(:num, :any)、正则来设置重写规则,下面是一些简单的例子:
1、将 http://pc.local/admin/detail_1.htm 请求解析到 http://pc.local/admin/detail.htm?user_id=1 处理。
Codeigniter并不支持包含查询字符串的重写规则,这个规则看起来应当这么写:
$route['admin/detail_(:num)'] = 'admin/detail?user_id=$1';
但实际上并未生效,程序匹配到admin/detail?user_id=1后用"/"分隔,索引为0的为控制器名,索引为1的为方法名,也就是会将上面的 detail?user_id=1赋值给方法名,结果可想而知就404了。搞清分隔原理后可以在detail后面增加一个斜杠,确保类名和方法名的正确,如:
$route['admin/detail_(:num)'] = 'admin/detail/?user_id=$1';
但此时又存在参数的获取问题了,会将第三个参数传递给方法,如果需要使用$_GET或者$this->input->get获取还需要对参数进行处理,如:
parse_str(ltrim($query_string, '?'), $_GET);
2、对PATH_INFO的URL形式重写规则还是比较支持的,如要实现http://pc.local/admin/1这种格式:
$route['admin/(:num)'] = 'admin/detail/$1';
参数的获取就只能通过段落的方式来获取了。
注意: 路由将会按照定义的顺序来运行.高层的路由总是优先于低层的路由.
最后,能使用CI来设置的路由还是建议使用CI来设置,不依赖服务器配置。
Tags: CodeIgniter配置 routes php
相关文章
- ·CodeIgniter配置之config.php用法实例分析(2021-07-06)
- ·CodeIgniter配置之SESSION用法实例分析(2021-07-06)
- ·CodeIgniter配置之database.php用法实例分析(2021-07-06)
- ·CodeIgniter配置之autoload.php自动加载用法分析(2021-07-06)
- ·CodeIgniter针对数据库的连接、配置及使用方法(2021-07-12)
- ·phpbb3 论坛新贴和本周五大字体修改(2013-11-16)
- ·Wordpress和phpbb数据库结构分析 (2013-11-16)
- ·phpBB3 论坛权限(2013-11-16)
- ·phpBB远程跨站脚本执行漏洞(2013-11-16)
- ·PHPExcel导出Excel文件时出现错误的解决办法(2013-12-02)
- ·关于CMD不能运行php.exe的问题~~(2014-11-20)
- ·简单方法修改drupal运行时的php内存(2015-04-04)
- ·phpweb更换百度编辑器的配置教程(2015-04-04)
- ·分享几个zblogPHP调用文章分类列表的方法(2015-12-07)
- ·PHP7下安装Emlog5.3.1的笔记(2016-08-22)
- ·cakephp2.X多表联合查询join及使用分页查询的方法(2018-08-02)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)