codeigniter 中的动态路由不起作用

dynamic route in codeigniter don't work

我在 codeigniter 路由中遇到问题。 我想将 url 从:http://example.com/test/news_details?id=17 更改为 http://example.com/test/funy-url-makerhttp://example.com/funy-url-maker

我可以动态创建 $route 但它不起作用。 我的代码:

$route[rawurlencode("'" . str_replace(' ', '-', $string)) . "'"] = "test/news_details?id=" . $id;

我打印路线,所有路线都将完美添加,但是当我想打开时 http://example.com/test/funy-url-maker 我将被重定向 404 页面:( 有什么想法吗?

注意: 当我将其用作静态时,它可以工作 perfectly.like:

$route[rawurlencode('funyNews')] = "test/b_news";

好了,问完所有的问题和答案,我想你正在寻找这样的东西:

foreach ($result as $row) {
    $string = rawurlencode(str_replace(' ', '-', strtolower($row->subject)));
    $route[$string] = "test/news_details/$row->id";
}

和您的控制器:

function news_details($id){
    var_dump($id);
}