CodeIgniter - 如何使用URL参数重写URL

时间:2009-10-13 14:59:14

标签: mod-rewrite codeigniter

我需要转换以下网址:

/catalog/products/24

进入更清晰的URL,如下所示:

/catalog/product-name-here

我正在使用CodeIgniter,并且重写引擎已启用并已设置。我还在routes.php文件中设置了重写,如下所示:

$route['catalog/products/(:any)'] = 'catalog/view/$1';

问题:在哪里用/24替换产品ID /product-name-here?我可以成功获取参数$1,并获取产品名称。我似乎无法弄清楚如何用这个动态值重写URL。提前谢谢!

2 个答案:

答案 0 :(得分:2)

我不是codeigniter用户,但我觉得网址重写不是实现此目的的最佳位置。

你仍然需要编写一个控制器方法,可以使用slug ='product-name-here'而不是id = 24来识别产品。

答案 1 :(得分:0)

只需将产品名称作为URL slug存储到数据库表的产品行中。 网址助手中的url_title()方法的良好做法。

然后你只需要在代码中搜索数据库中的slug,而不是id。

所以这只是一个提示,因为我现在没有时间。但是如果你有问题,请在这里问一下,我会回来回答。

抱歉我的英语不好! :)