使用搜索词更改 codeigniter 中的 url

Change url in codeigniter with searches term

我有这样的链接

http://example.com/search/texas

我希望它路由到控制器 search 并且 URL 应该是

http://example.com/schools-in-texas

到目前为止我做了什么

在路上

$route['search/(:any)'] = "search"; //search is a controller

在搜索控制器上,我使用

获取城镇名称 texas
$x = $this->uri->segment(2);

我想查询数据库并使用结果打开一个搜索模板,url 为 http://example.com/schools-in-texas,其中 texas 是搜索词。

我重定向到 url 但没有从数据库加载数据,因此它没有按预期工作。

$url = $this->uri->segment(2);
redirect('schools-in-'.$url, 'refresh');

有人可以提供任何实现方法吗?

试试这个路由

$route['schools-in-(:any)'] = 'search';

当您的 URL 类似于 http://example.com/schools-in-texas

时,这将纳入 Search 控制器

要从 URL 中获取单词 texas(用于搜索词),现在您可以使用

$state_name = substr($this->uri->segment(1), strrpos($this->uri->segment(1), '-') + 1);

现在 $state_name 将输出为 texas 如果你 URL http://example.com/schools-in-texas