【问题标题】:Removing controller name and function namein URL in Codeigniter CMS在 Codeigniter CMS 中删除 URL 中的控制器名称和函数名称
【发布时间】:2014-06-09 13:01:24
【问题描述】:

我正在 codeigniter 中构建一个 cms,我想从 url 中删除控制器名称和函数名称,然后打印别名。 我将有两个控制器,一个用于静态页面,另一个用于带有类别的博客文章。 请帮忙,也欢迎提出修改两个控制器的建议。

【问题讨论】:

标签: php codeigniter url content-management-system uri


【解决方案1】:

您需要覆盖 application/config/routes.php 中的默认 404 控制器。

$route['404_override'] = 'content';

任何无法映射到控制器的请求都将被传递到application/controllers/content.php 控制器

您的 Content 控制器,或您决定调用的任何名称,将解析 uri [$this->uri->segment(1)] 并检查您的 CMS 数据库中的匹配引用。

如果数据库中没有匹配,那么你可以在views文件夹中寻找一个静态视图并加载它。

if(is_file(FCPATH.'views/'.$this->uri->segment(1).'.php')) {
    $this->load->view($controller,$this->data);
}

如果没有找到静态视图,并且db中没有匹配的内容,则调用show_404()函数。

使用此方法,您将保留 uri 映射的默认 CI 功能,因此您可以随时像往常一样添加控制器,应用程序将像普通 CI 安装一样执行。

【讨论】:

    猜你喜欢
    • 2016-11-02
    • 1970-01-01
    • 2014-12-16
    • 2011-11-28
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2018-01-10
    • 2017-04-10
    相关资源
    最近更新 更多