You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter子目录下移除控制器名优化URL格式求助

实现步骤

1. 修正路由规则

在CodeIgniter博客系统的application/config/routes.php文件中,替换原路由规则为:

$route['(:any)'] = 'blogs/posts/$1';

注意:如果还有其他特定路由(如blogs/about这类静态路径),需要将这条通用规则放在所有特定规则的后面,避免覆盖其他路由匹配。

2. 验证控制器方法

你的控制器代码无需修改,Blogs控制器的posts方法已经能接收$slug参数:

class Blogs extends CI_Controller {
    public function posts($slug = null) {
        echo "hello world";
    }
}

3. 确保URL重写正常工作

检查blogs子目录下的.htaccess文件,确认已配置去掉index.php的规则,内容如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

完成以上配置后,访问domainname.com/blogs/test就会触发Blogs控制器的posts方法,参数test会被传入$slug变量。

内容的提问来源于stack exchange,提问作者Usman Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:47:13