专业网站建设品牌,18年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> CodeIgniter配置之router
CodeIgniter配置之router
来源:网络整理 时间:2023/2/14 0:06:45 共
3669
浏览
application/config/routes.php中定义了一个名为$route的数组,用来设置默认路由和404页面以及可以设置一些匹配方式。
默认的配置如下:
PHP
复制代码
$route
[
'default_controller'
]
=
"welcome"
;
$route
[
'404_override'
]
=
''
;
复制代码
default_controller指定默认的控制器名称,404_override指定当出现404时调用的控制器名称。有时候可能出现解析不成功,或者一直在默认页面,我们可以调用$this->router打印一下当前解析的控制器和Acion名称。比如可以在MY_Controller中如下打印:
PHP
复制代码
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并不支持包含查询字符串的重写规则,这个规则看起来应当这么写:
PHP
复制代码
$route
[
'admin/detail_(:num)'
]
=
'admin/detail?user_id=$1'
;
复制代码
但实际上并未生效,程序匹配到admin/detail?user_id=1后用"/"分隔,索引为0的为控制器名,索引为1的为方法名,也就是会将上面的 detail?user_id=1赋值给方法名,结果可想而知就404了。搞清分隔原理后可以在detail后面增加一个斜杠,确保类名和方法名的正确,如:
PHP
复制代码
$route
[
'admin/detail_(:num)'
]
=
'admin/detail/?user_id=$1'
;
复制代码
但此时又存在参数的获取问题了,会将第三个参数传递给方法,如果需要使用$_GET或者$this->input->get获取还需要对参数进行处理,如:
PHP
复制代码
parse_str
(
ltrim
(
$query_string
,
'?'
)
,
$_GET
)
;
复制代码
2、对PATH_INFO的URL形式重写规则还是比较支持的。如要实现http://pc.local/admin/1这种格式:
PHP
复制代码
$route
[
'admin/(:num)'
]
=
'admin/detail/$1'
;
复制代码
参数的获取就只能通过段落的方式来获取了。
注意: 路由将会按照定义的顺序来运行.高层的路由总是优先于低层的路由.
最后,能使用CI来设置的路由还是建议使用CI来设置,不依赖服务器配置。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
衡阳网站建设哪家公司便宜
铁岭商城网站开发公司
郑州产品摄影网站公司
河北专业网站建设公司价格
闵行本地公司注册查询网站
吴堡网站建设哪家公司好
苏宁广场附近做网站公司
慈溪福山纸业有限公司网站
天津办公室装修公司网站
咸宁网站建设制作的公司
·上一条:
CodeIgniter配置之database
|
·下一条:
CodeIgniter配置之config
同类资讯
自学2年java包装简历2年工作经验_数据库
如何实现用php将得分记录到远程的mysql数据库中_数据库
Access数据表转化成那些格式文件_数据库
mysql 查询多个值,mysql小数类型建表怎么用_数据库
mysql查询表 索引,mysql什么情况用不到联合索引_数据库
mysql用什么字段类型_数据库
Server数据库表结构和数据的脚本_数据库
mysql查询缓存开启,关系型数据库和非关系型数据库有什么区别_数据库
mysql什么字段可以存小数和整数_数据库
高访问量的系统架构是怎样的_数据库
mysql查询链接语句,sql注释语句怎么写_数据库
电子商务专业毕业之后_数据库
mysql查询注意点,mysql数据库导入后怎么执行_数据库
mysql查询时间段无效,如何在mysql数据表中显示当前时间_数据库
计算机考试先到先考吗_数据库
mysqlshell是什么_数据库
查询mysql数据库时间,mysql如何查询日期date数据在某年作为条
mysql子查询注意,mysql联合索引最左匹配原因_数据库
怎样在Linux下编程_数据库
mysql查询表 语句,mysql语句中的match是啥意思_数据库
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2026 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com