在codeigniter中路由不正确

时间:2014-08-25 00:35:43

标签: codeigniter

这是应用程序结构

-app
 -controllers
  -v1
   -home.php
   -login.php  
 -models
  -v1
   -home_model.php
   -login_model.php 
 -views
  -v1
   -home
    -index.php
   -login
    -index.php

我的默认控制器为v1/home.php

我想在路由时从网址中删除v1,这意味着网址应该是www.abc.com/login而不是www.abc.com/v1/login

因此,当我发布应用程序的v2版本时,我可以在路由中编写另一条规则,而v1和v2代码将同时存在。

这是我尝试过的事情

$route['default_controller'] = "v1/home";
$route['v1/(:any)'] = "/$1";

2 个答案:

答案 0 :(得分:0)

尝试这些路线

$route['default_controller'] = "v1/home";
$route['(:any)'] = "v1/$1";

将来当v2准备就绪时,只需将其更改为

即可
$route['(:any)'] = "v2/$1";

答案 1 :(得分:0)

Hello Codeigniter支持两种类型的路由规则

1)的通配符

2)正则表达式

我更喜欢通配符

在路线中放置这个

$route['login/(:any)'] = "v1/login";

带有"登录"的网址作为第一段,第二段中的任何内容都将重新映射到" v1" class和"登录"方法

表示您更改www.abc.com/login而非www.abc.com/v1/login

在此处使用codeigniter进行路由检查https://ellislab.com/codeigniter/user-guide/general/routing.html .......