2009-10-13 67 views
2

我需要打开的URL,如下列:笨 - 我如何重写URL与URL参数

/catalog/products/24 

到清洁的URL,如下列:

/catalog/product-name-here 

我用笨,并重新启动引擎并安装。我也设置在routes.php文件改写如下:

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

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

回答

2

我不是codeigniter用户,但我闻到URL重写不是实现此目的的最佳位置。

您仍然需要编写一个控制器方法,可以使用类似slug ='product-name-here'而非id = 24的东西来识别产品。

+0

是的,你可能是对的,谢谢你的答案! – Farbour 2009-10-13 19:56:48

+0

我做到了这一点,它的工作,非常感谢! – Farbour 2009-10-16 00:53:37

0

只需将产品名称作为url slug存储到数据库表的产品行中即可。 url_title()方法来自URL助手的一个好习惯。

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

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

对不起,我可怜的英语! :)