CodeIgniter_2 路由中定义伪静态 直接映射到相关的控制器
2015-06-03 12:34
309 查看
某些情况下 隐藏路径信息 使用伪静态定义:
RewriteRule ^no/torrent(.*)$ /index.php/torrent/doit/$1
CodeIgniter会自动识别到 no 控制器,但是我其实想识别到 torrent 控制器
需要对 core\URI.php 文件进行处理下
CodeIgniter 3.0 对 这个文件进行了重构。想实现这个需求 貌似也不行,大家可以测试一下子。
RewriteRule ^no/torrent(.*)$ /index.php/torrent/doit/$1
CodeIgniter会自动识别到 no 控制器,但是我其实想识别到 torrent 控制器
需要对 core\URI.php 文件进行处理下
/** * Detects the URI * * This function will detect the URI automatically and fix the query string * if necessary. * * @access private * @return string */ private function _detect_uri() { if ( ! isset($_SERVER['REQUEST_URI']) OR ! isset($_SERVER['SCRIPT_NAME'])) { return ''; } $uri = $_SERVER['REQUEST_URI']; //添加的数据 重新定义url if(isset($_SERVER['PHP_SELF'])){ if($_SERVER['PHP_SELF'] != '' and $_SERVER['PHP_SELF'] != $_SERVER['REQUEST_URI']){ $uri = $_SERVER['PHP_SELF']; if(isset($_SERVER['QUERY_STRING']) and $_SERVER['QUERY_STRING'] != ''){ $uri = $uri.'?'.$_SERVER['QUERY_STRING']; } } } //来自 吠品 http://www.cnblogs.com/osfipin/ if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0) { $uri = substr($uri, strlen($_SERVER['SCRIPT_NAME'])); } elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0) { $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME']))); } // more }
CodeIgniter 3.0 对 这个文件进行了重构。想实现这个需求 貌似也不行,大家可以测试一下子。
相关文章推荐
- ON DUPLICATE KEY UPDATE
- Ewebeditor最新漏洞及漏洞大全
- 1002: [FJOI2007]轮状病毒
- C#开发微信门户及应用-使用地理位置扩展相关应用
- 疯狂Java学习笔记(70)-----------挚爱Java
- 《推拿》—— 读后总结
- 混淆 - 笔记
- R High-Level
- HDU 4283 You Are the One(区间DP)
- BZOJ 1602: [Usaco2008 Oct]牧场行走( 最短路 )
- 新修改了EMA的计算方法,合并线性回归率的计算。和通达信的结果一模一样
- simclist库使用初体验
- 机器学习算法-K-means聚类
- Python使用minidom读写xml的方法
- 这就是搜索引擎--读书笔记五--索引的建立与更新
- BZOJ3339 Rmq Problem
- 操作系统中的虚拟内存技术及其实现代码
- ipython 学习笔记 2 network graph--NetworkX
- Android-StartService和BoundService的区别
- 错误LifecyclePhaseNotFoundException,Unknown lifecycle phase "mvn". You must specify a valid lifecycle