`
superhj1987
  • 浏览: 205474 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

codeigniter默认路由报错的问题

 
阅读更多

最近在使用codeigniter时遇到一个莫名其妙的bug。如下:

在config/routes配置一个默认路由:

$route['default_controller'] = "homePage/index";

结果,访问根url的时候,404错误;而访问/homePage/index是正常的。百思不得其解,就去看了一下框架读取路由配置的代码。看到system/core/Router.php中这行代码,恍然大悟。

function _set_routing(){
...
$this->default_controller = ( ! isset($this->routes['default_controller']) OR $this->routes['default_controller'] == '') ? FALSE : strtolower($this->routes['default_controller']);
...
}

这里调用了strtolower把default_controller变成小写,后面去读取method和class的时候就会出错。不知道这是个bug,还是有意为之。

解决办法就是default controller命名时不要含有大写字母或者把Router.php里这一行代码的strtolower去掉。

0
1
分享到:
评论

相关推荐

    Codeigniter 4.0-dev 版源码学习笔记之四——详细路由过程

    我个人觉得在当前 MVC 流行的架构下,要想去了解一个框架,或者是一个基于此架构下的应用程序,最好的入手方式就是先看路由,虽然路由不是 MVC 里的任何一个,但是知道了路由的来龙去脉就知道了整个框架或者是应用的...

    CodeIgniter框架URL路由总结

    1. 默认路由:`$route['default_controller']`,当没有匹配到其他路由时,会调用的控制器。 2. 404错误路由:`$route['404_override']`,当请求的资源不存在时,可以重定向到另一个控制器和方法,而非显示默认的404...

    codeigniter的简单示例

    CodeIgniter的路由系统允许自定义URL映射,你可以指定特定的URL请求应该由哪个控制器和方法处理。这提高了代码的可读性和灵活性。 4. **控制器(Controllers)**: 控制器是CodeIgniter应用的核心部分,它们处理...

    codeigniter框架

    3. **简单的路由**:CodeIgniter的路由机制允许自定义URL结构,使得URL更加友好和SEO优化。 4. **错误处理和调试**:提供了详细的错误报告和调试工具,便于开发者找出和修复问题。 5. **模板引擎**:虽然视图文件...

    codeigniter用户指南 pdf

    CodeIgniter有内置的错误报告和日志系统,帮助开发者调试和记录应用程序的问题。 **十三、安全与最佳实践** 用户指南还涵盖了安全主题,如防止跨站脚本攻击(XSS)、SQL注入,以及如何正确处理用户输入。 **十四、...

    CodeIgniter

    "CodeIgniter 2.1.2"是该框架的一个特定版本,它在2012年发布,虽然现在已经有了更新的版本,但这个老版本仍然被许多开发者用于维护旧项目或者教学用途。 CodeIgniter基于Model-View-Controller(MVC)设计模式,这...

    codeigniter使用例程 网站跳转管理系统

    CodeIgniter的路由机制允许开发者自定义URL结构,将HTTP请求映射到特定的控制器方法。在这个管理系统中,路由可能被用来处理不同的URL请求,实现不同的网站跳转逻辑。 8. 错误处理与日志记录: CodeIgniter提供了...

    CodeIgniter3中文手册

    此外,CodeIgniter在每个目录下都默认包含一个.htaccess文件,用于防止目录直接访问。如果服务器配置更改或者不支持.htaccess文件,最好还是将这些文件放置到不能公开访问的地方。 CodeIgniter提供了详尽的文档,...

    codeigniter-base-controller-master

    "codeigniter-base-controller-master" 是一个基于CodeIgniter的项目,它扩展了默认的控制器(Controller)类,增加了额外的功能和封装,以提升开发效率和代码复用性。 1. **CodeIgniter框架基础** CodeIgniter是...

    CodeIgniter集成SOAP功能

    6. **配置路由**:确保CodeIgniter的路由器正确配置,以便SOAP请求能够到达相应的控制器。 7. **测试和优化**:完成上述步骤后,可以使用SOAP客户端(如SoapUI)测试你的服务。根据需求进行优化,例如添加错误处理...

    CodeIgniter 中文手册1.6.3版本

    4. 错误处理与日志:CodeIgniter提供了错误报告和日志记录功能,帮助开发者追踪并解决程序运行中的问题。通过调整错误级别设置,可以在开发阶段获取详细的错误信息,而在生产环境中则可以生成日志文件。 5. 模板...

    CodeIgniter_2.1.3.zip

    2. **路由系统**:CodeIgniter的路由机制允许开发者自定义URL结构,将请求映射到特定的控制器方法,提高URL的友好性和可读性。 3. **加载器类**:加载器类负责加载应用程序中的模型、视图、库、助手、配置文件等,...

    CodeIgniter框架

    5. **错误处理与日志**:CodeIgniter具有强大的错误处理和日志记录功能,可以帮助开发者快速定位并解决程序中的问题,同时保持良好的用户体验。 6. **缓存机制**:为了提高性能,CodeIgniter提供了视图缓存、数据...

    codeigniter电子书

    7. **错误处理与日志**:CodeIgniter提供了详细的错误报告和日志系统,方便开发者调试和排查问题。 8. **视图与模板**:CodeIgniter支持视图模板,使开发者能够创建复杂的布局和主题,同时保持代码的清晰和分离。 ...

    PHP开发框架CodeIgniter中文参考资料

    在实践中,CodeIgniter的路由系统允许自定义URL结构,提高用户体验;其主动记录功能方便调试;而其强大的安全特性,如XSS过滤和SQL注入防护,则能有效防止常见的Web攻击。总的来说,CodeIgniter是PHP开发者构建高...

    CodeIgniter2.1.4中文手册(HTML离线版)

    5. **路由**:CodeIgniter的路由机制允许用户自定义URL结构,将请求映射到特定的控制器方法。 6. **控制器(Controllers)**:控制器是MVC中的关键部分,它们处理用户输入并调用模型和视图。手册会详细解释如何创建...

    CodeIgniter_2.0.0.zip

    11. 社区支持:CodeIgniter拥有活跃的开发者社区,提供大量教程、插件和扩展,便于开发者解决问题和分享经验。 总的来说,CodeIgniter 2.0.0是一个强大的开发框架,适合快速开发高效、安全的PHP应用程序。尽管它...

    CodeIgniter 1.72 中文帮助文档

    CodeIgniter的URL友好看,支持自定义路由规则,可以轻松地将请求映射到相应的控制器方法。 4. **控制器(Controllers)** 控制器是应用程序的核心,接收HTTP请求,调用模型处理数据,然后将数据传递给视图进行显示...

    codeigniter中文手册教程

    2. **路由(Routing)**: CodeIgniter允许自定义URL路由规则,使URL更美观且易于理解。你可以将控制器方法映射到特定的URL路径上,实现灵活的URL结构。 3. **加载器(Loader)**: 这个组件帮助你加载控制器、模型、视图...

    CodeIgniter 3.x

    7. **URI路由**:通过自定义URI路由规则,开发者可以灵活地控制URL结构,使其更加美观和可读。 8. **助手函数**:CodeIgniter包含大量助手函数,覆盖了常见的Web开发任务,如URL处理、表单创建、邮件发送等。 9. *...

Global site tag (gtag.js) - Google Analytics