这是应用程序结构
-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";
答案 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 .......