【问题标题】:Codeigniter Route IDCodeigniter 路由 ID
【发布时间】:2013-04-13 12:08:04
【问题描述】:
【问题讨论】:
标签:
php
codeigniter
routing
【解决方案1】:
如果您不想在 URL 中输入数字,则以后不能按数字/ID 搜索 :)
因此,您可以在表中添加一个 VARCHAR 字段,例如“urlized”,并使用“some-really-nice-product”作为给定 ID 的内容(您需要“urlize”所有产品名称并使它们独一无二)。不要忘记为您的新字段编制索引...
然后,您可以使用这个对 SEO 非常友好的 URL(以“.html”结尾)访问产品页面:
http://www.example.com/products/show/some-really-nice-product.html
...通过向 CodeIgniter 添加一个路由,就像这样:
$route['^products/show/(.*).html'] = 'products/show/$1';
在您的控制器/模型中,在数据库中搜索传递给“show”方法的字符串,而不是 ID
【解决方案2】:
如果您隐藏 id,您将无法再从 url 中检索它
如果你想隐藏它,就这样做:
$route['products/show/(:any)'] = "products/show/$1/$2";