我到处搜索但我找不到合适的结果。我想从网站的每个网址中删除controller_name。我的codeigniter安装在域的子文件夹中。
例如:
www.site_name.com/subfolder/controller_name/any_method_name
我只有一个控制器可以调用所有方法。
我了解到我必须对路线进行一些更改,但我认为这仅适用于一个网址。所以,如何删除每个网址。
答案 0 :(得分:0)
不确定这是否有效,但您可以尝试在application\config\routes.php
中添加此内容:
$route['([a-z]+)'] = 'controller_name/$1';
文档https://www.codeigniter.com/userguide3/general/routing.html#regular-expressions
答案 1 :(得分:0)
在这里,我正在回答我自己的问题。我通过以下解决方案解决了这个问题。
假设我的控制器名称是用户,那么答案是:
$route['^(:any)(/:any)?$'] = "users/$0";
这将从网站的每个网址中删除控制器名称。
答案 2 :(得分:-1)
Codeigniter支持两种类型的路由规则
1)的通配符
2)正则表达式
我更喜欢通配符
在路线中放置这个
$ route ['login /(:any)'] =“v1 / login”;
以“login”作为第一段的URL,第二段中的任何内容都将重新映射到“v1”类和“login”方法。
表示您更改www.abc.com/login而非www.abc.com/v1/login
检查一次在codeigniter中路由https://www.codeigniter.com/userguide3/general/routing.html .......