Codeigniter中的网址段似乎简单易懂...但是,我正在创建一个搜索功能,要求网址段是动态的。
如果我在主类中添加搜索功能,我必须将“欢迎”类添加到网址:http://example.com/index.php/welcome/search/stuff-i-want-to-search/
但是,我希望网址为: http://example.com/index.php/search/stuff-i-want-to-search/
在Url中没有“欢迎”,很可能没有index.php
我想我可以通过创建一个名为Search的新类文件来实现这一点。我可以加载文件,但是当我尝试搜索时,我最终会进入404。
请告知。
答案 0 :(得分:1)
在CI中,URI Routing会为您执行此操作。
$route['search/:any'] = "welcome/search/$1";
答案 1 :(得分:1)
使用$route['search/:any'] = "welcome/search/$1";
是一个冒险的过程,因为:任何人都可以接受任何事情......
我建议使用正则表达式,使用起来更安全。
$route['search/([a-z_A-Z]+)'] = 'welcome/search/$1';
答案 2 :(得分:0)
你可以通过路由
来做到这一点http://codeigniter.com/user_guide/general/routing.html
我想:
$route['search/:any'] = "search/do_search/$1";
其中通过(我猜测)你的do_search()函数将该术语作为参数,在连字符处展开,并做你需要做的事。
记住CI网址是:
site.com./index.php/的控制器强> / 的功能强> / 的 ID 强>