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

Mod rewrite CodeIgniter-如何使用URL参数重写URL,mod-rewrite,codeigniter,Mod Rewrite,Codeigniter,我需要打开URL,如下所示: /catalog/products/24 /catalog/product-name-here 进入更干净的URL,如以下内容: /catalog/products/24 /catalog/product-name-here 我正在使用CodeIgniter,重写引擎已经启动并设置好了。我还在routes.php文件中设置重写,如下所示: $route['catalog/products/(:any)'] = 'catalog/view/$1'; 问题:在

我需要打开URL,如下所示:

/catalog/products/24
/catalog/product-name-here
进入更干净的URL,如以下内容:

/catalog/products/24
/catalog/product-name-here
我正在使用CodeIgniter,重写引擎已经启动并设置好了。我还在
routes.php
文件中设置重写,如下所示:

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

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

我不是codeigniter用户,但我感觉URL重写并不是实现这一点的最佳途径


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

只需将产品名称作为URL slug存储到数据库表中的产品行中即可。使用
url\u title()
方法从url帮助程序中执行此操作的良好实践

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

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

对不起,我的英语很差!:)