代码点火器的漂亮URL

时间:2012-12-06 09:16:16

标签: php codeigniter url-rewriting content-management-system codeigniter-routing

我想知道是否可以在Code igniter中编写漂亮的URL? 我的意思是我有一个代码点火器项目,我在其中显示来自uri段的数据,如下所示:

http://myproj.local/category/subcategory/64/239

其中64是我的类别的ID(例如Garden Products),239是我的子类别id(例如Brushes)。

无论如何,我可以在代码点火器中写这样的URL:

对于类别:

http://myproj.local/Garden产品/

http://myproj.local/Household范围/

和子类别:

http://myproj.local/Garden产品/画笔/

http://myproj.local/Household范围/桶/

就像wordpress或其他CMS一样。

简而言之,我想通过我的代码IGNITER MVC框架来显示这些网址/页面:

http://myproj.local/Garden产品/画笔/

http://myproj.local/Household范围/桶/

这是否可以在Code Igniter中实现? 如果是,那么我该怎么做呢?如何在代码点火器中写这个?我应该用什么方法来实现这个目的?如果你能在这方面帮助我,我将不胜感激。谢谢

4 个答案:

答案 0 :(得分:2)

我之前已回答了一个类似的问题。

检查this out并查看是否有帮助。

其他选项包括数据库驱动的路由,请查看此link

此外,reverse routing here上的文章/示例可能会有所帮助。

答案 1 :(得分:0)

SEO不推荐URL中的空格

您可以参考seomoz

答案 2 :(得分:0)

您可以使用唯一的字符串名称,而不是使用ID,以便http://myproj.local/category/subcategory/64/239变为http://myproj.local/category/subcategory,然后使用路由重定向任何不是imagescss等,无论您使用什么,都可以重定向到以类别和子类别为参数的公共控制器/方法。

此外,CodeIgniter有一个很好的辅助函数url_title,可以帮助您编写类别和子类别的唯一字符串表示......您只需要确保它们是唯一的。

另一种方式就像其他人说的那样,在你的路线文件中制作白名单并手动进行每次重定向。

答案 3 :(得分:-1)

这就是为什么你有路由文件,但我只知道硬件类别,不知道自动做什么。你可以这样做:

$routes['Gardents/Products'] = "category/subcategory/64/239";