我有各种静态页面,我不想为它们创建独立的控制器。
假设我想创建一个名为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
来查看页面
答案 0 :(得分:2)
在application/config/routes.php
您可以添加为:
$route['contact'] = "page/contacts";
$route['store'] = "page/store";
...
答案 1 :(得分:1)
在我的application/config/routes.php
中,我使用以下正则表达式来执行此操作。我工作的大多数网站都比较小,所以我列出了以下代码段中的所有控制器(因为它比列出所有静态页面更容易)
$route['^(?!controller1|controller2).*'] = "page/$1";
逻辑基本上表示如果路径不是以controller1或controller2开头,那么使用页面作为控制器,用于http://domain.tld/page
等网址
为了不必为我的所有静态页面创建10个以上的静态路由,它保持非常简单。