在codeigniter中为不同的类设置路由规则

时间:2017-02-09 06:33:15

标签: php codeigniter routing

我的应用程序网址"localhost/crdlabs/PHP"转到"localhost/crdlabs/home/display/PHP",这是使用route.php完成的。规则如下。

$route['(:any)'] = "home/display/$1";

现在我有另一个名为displayarticles()的控制器类。此类的当前URL为"localhost/crdlabs/displayarticles/article/learning-coding"。我知道我不能使用上面的路由为新控制器。如何为当前URL设置路由规则,使URL看起来像“localhost/crdlabs/learning-coding”。

注意:learning-coding部分是动态设置的,这意味着有几篇不同的文章应该转到同一个控制器。

请提供任何帮助/建议。

1 个答案:

答案 0 :(得分:1)

当前的路由规则。

$route['(:any)'] = "home/display/$1";

localhost/crdlabs/argument之后出现的任何内容发送到localhost/crdlabs/home/display/argument。因此路由localhost/crdlabs/learning-coding将被重定向到localhost/crdlabs/home/display/learning-coding。所以你不能这样使用。

但我建议你展示你的文章

localhost/crdlabs/displayarticles/article/learning-coding

localhost/crdlabs/articles/learning-coding

使用以下路由规则。

$route['articles/(:any)'] = "displayarticles/article/$1";  

将是最好的。