codeigniter中的路由不正确

codeigniter中的路由不正确,codeigniter,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 我想在路由时从url中删除v1,这意味着url应为www.abc.com/login,而不是ww

这是应用程序结构

-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

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

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

这是我试过的

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

试试这些路线吧

$route['default_controller'] = "v1/home";
$route['(:any)'] = "v1/$1";
将来,当v2准备就绪时,只需将其更改为

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

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

1) 通配符

2) 正则表达式

我更喜欢通配符

在路线上,只需放置这个

$route['login/(:any)'] = "v1/login";
以“login”作为第一段的URL,第二段中的任何内容都将重新映射到“v1”类和“login”方法

表示您更改了www.abc.com/login而不是www.abc.com/v1/login

在codeigniter中检查一次
….

如果我想让v1和v2同时运行@jamesgiang,当v2准备好了,并且您还想通过URL中的
v1
访问v1,那么让
$route['v1/(:any)]=“v1/$1”怎么办以上
$route['(:any)]=“v2/$1”在您的路线中file@jamesgiang除了url类似于www.abc.com/v1/home/get_用户外,这是可行的。有没有办法从url中删除v1,如果是v2,url包含www.abc.com/v2/home/get_用户。。。有没有办法在url中不包含v1或v2?