2010-10-15 61 views
1

Codeigniter中的URL段看起来简单易用...但是,我创建的搜索功能需要Url段为动态。Url Segment,但用于搜索

如果我在我的主类中添加一个搜索功能,我必须包括“欢迎”类的URL地址: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。

请指教。

回答

1

使用$route['search/:any'] = "welcome/search/$1";是一个冒险的过程,这是因为:任何可以采取什么..

我建议使用正则表达式,这是使用更安全。

$route['search/([a-z_A-Z]+)'] = 'welcome/search/$1'; 
0

你可以用路由

http://codeigniter.com/user_guide/general/routing.html

做到这一点我想:

​​3210

由其中(我猜)你do_search()函数将采取长期的参数,用连字符分解它,并做你需要做的事情。

记得CI网址是:

site.com./index.php/ 控制器/功能/ID

1

在CI,URI Routing会为你做这个。

$route['search/:any'] = "welcome/search/$1";