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
相关产品推荐
相关产品推荐

