我正在使用 codeigniter 构建一个教程系统,并希望实现以下 URL 结构:
- /tutorials --> 一个包含所有类别列表的介绍页面
- /tutorials/{a category as string} --> 这将给出给定类别的教程列表,例如 /tutorials/php
- /tutorials/{a category as string}/{an ID}/{tutorial slug} --> 这将显示教程,例如 /tutorials/php/123/how-to-use-functions
- /tutorials/add --> 添加新教程的页面
问题是当我想使用前两种类型的 URL 时,我需要将参数传递给控制器的 index 函数。第一个参数是可选的类别,第二个是可选的教程ID。在发布之前我做了一些研究,所以我发现我可以添加一个类似的路由tutorials/(:any)
,但问题是当使用最后一个 URL (/tutorials/add) 时,这个路由也会add
作为参数传递。
有什么想法可以实现吗?