本地运行PHP应用时,redirect至Admin controller报错‘Object not found’的解决方法
解决Admin Controller跳转时的"Object not found!"问题
嘿,我看你遇到了CodeIgniter跳转后台面板时的404问题,咱们一步步来搞定它:
1. 别用硬编码URL,改用框架自带的redirect函数
你现在写的硬编码跳转很容易踩坑——比如换环境、改项目路径后,这个URL直接就失效了。CodeIgniter自带的redirect函数会自动适配你的配置,靠谱多了:
- 先确保加载了URL辅助函数:打开
application/config/autoload.php,在$autoload['helper']数组里加上'url',示例:$autoload['helper'] = array('url'); - 然后把跳转代码改成:
if($user2) { redirect('admin/dashboard'); }
2. 检查路由和控制器是否匹配
出现404大概率是路由没对应上控制器:
- 打开
application/config/routes.php,确认有没有给admin dashboard配置正确的路由。如果你的控制器是Admin.php,方法是dashboard,路由应该是:$route['admin/dashboard'] = 'admin/dashboard'; - 再检查控制器文件:
application/controllers/Admin.php必须存在,且文件名和类名保持首字母大写的一致,里面要有dashboard方法,示例:
如果控制器放在class Admin extends CI_Controller { public function __construct() { parent::__construct(); // 这里可以加登录校验,防止未登录直接进入后台 } public function dashboard() { // 加载后台页面逻辑 $this->load->view('admin/dashboard'); } }admin子目录(比如application/controllers/admin/Admin.php),那跳转路径要改成admin/admin/dashboard,或者调整路由简化成admin/dashboard。
3. 确认base_url配置正确
打开application/config/config.php,检查base_url是不是设置对了:
$config['base_url'] = 'http://localhost:2020/taxiapp/';
这个配置错误的话,框架生成的所有URL都会出问题。
最后,试试清空浏览器缓存或者强制刷新页面(Ctrl+F5),有时候缓存也会搞出奇怪的404问题。
内容的提问来源于stack exchange,提问作者Shayan Talaei
相关产品推荐
相关产品推荐

