如何使用Codeigniter路由或htaccess文件重写URL?

时间:2013-02-03 14:52:24

标签: php .htaccess codeigniter url-rewriting

我创建了一个带有 Page 方法的 Home 页面控制器,以便它可以加载内部页面视图。因此,我只需将页面名称作为参数传递给 Page 方法,然后加载该特定视图。

E.g. 
http://www.mywebsite.com/home/page/copyright

所以这里 1. 主页是控制器 2. 页面是方法 3. copyright 是传递给page()方法的参数

所以家庭年龄只需使用此网址加载

http://www.mywebsite.com/home/

并使用此网址格式加载内页

http://www.mywebsite.com/home/page/copyright

现在我想加载内页,以便假设我使用此URL

http://www.mywebsite.com/copyright

它应该从

加载页面
http://www.mywebsite.com/home/page/copyright

如何使用Codeigniter Route方法或使用.htaccess文件执行此操作?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在您的应用程序/ config / routes.php上:

$route['copyright'] = 'home/page/copyright';

更好:

$route['(:any)'] = 'home/page/$1';

因此,如果您导航到http://www.domain.com/copyright,则会路由到主页/页面/版权
如果您导航到http://www.domains.com/anything,它会路由到主页/页面/任何内容

编辑以捕捉任何路线

虽然在这种情况下你必须“抓住”你不会路过的页面:

function page($section = ''){

 switch($section){
  case 'contact':  
   //display contact form
  break;

  case 'copyright':
  //display copyright
  break;

  default:
  //404 error
  break;
 }
}