0

我有各种静态页面,我不想为它们创建独立的控制器。

假设我想创建一个名为page并将所有静态页面作为函数的控制器。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Page extends Frontend_Controller {

    public function index()
    {

    }

    public function store(){
        $this->load->view('public/store');
    }
    public function contact(){
        $this->load->view('public/contact');
    }
    public function about(){
        $this->load->view('public/about');
    }    
}

无论如何要修改 URI 路由,这样我就不必输入mydomain.com/page/contact,但我可以输入mydomain.com/contact来查看页面

4

2 回答 2

2

在你的application/config/routes.php

您可以添加为:

$route['contact'] = "page/contacts";
$route['store'] = "page/store";
...
于 2013-04-30T18:03:34.887 回答
1

在我的application/config/routes.php我使用以下正则表达式来做到这一点。我工作的大多数网站都相对较小,因此我在以下代码段中列出了所有控制器(因为它比列出所有静态页面更容易)

$route['^(?!controller1|controller2).*'] = "page/$1";

逻辑基本上是说,如果路径不是以 controller1 或 controller2 开头,则使用 page 作为url 的控制器,例如http://domain.tld/page

因为不必为我所有的静态页面创建 10 多个静态路由,它让它变得非常简单。

于 2013-04-30T22:08:20.660 回答