我需要转换以下网址:
/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。提前谢谢!
答案 0 :(得分:2)
我不是codeigniter用户,但我觉得网址重写不是实现此目的的最佳位置。
你仍然需要编写一个控制器方法,可以使用slug ='product-name-here'而不是id = 24来识别产品。
答案 1 :(得分:0)
只需将产品名称作为URL slug存储到数据库表的产品行中。 网址助手中的url_title()
方法的良好做法。
然后你只需要在代码中搜索数据库中的slug,而不是id。
所以这只是一个提示,因为我现在没有时间。但是如果你有问题,请在这里问一下,我会回来回答。
抱歉我的英语不好! :)