【发布时间】:2013-01-02 16:27:28
【问题描述】:
我知道这与 www.example.com/class/function/ID/ 的形式不完全匹配,但我想向用户显示的内容会更有意义。
这是我想做的:
www.example.com/project/id/item/item_id/
所以,一个例子是:
www.example.com/project/5/item/198237/
这将是行为:
- www.example.com/project/ --> 这将显示项目列表(当前实施)
- www.example.com/project/5/ --> 这将显示项目 5(当前实施)的项目列表
- www.example.com/project/5/item/ --> 这与上面的行并没有什么不同。 (这很糟糕吗?)
- www.example.com/project/5/item/198237/ --> 这将显示项目 198237 的详细信息。
因此,每个项目都直接与一个且只有一个项目相关联。
我能想到的唯一方法是膨胀“项目”控制器并解析各种参数并控制来自该“项目”控制器的所有视图。我不想这样做,因为“项目”的模型和视图确实与“项目”的模型和视图分开。
唯一的其他解决方案(我目前正在实施但不喜欢)是具有以下内容:
www.example.com/project/5/ www.example.com/item/198237/
有没有什么方法可以像我在开始时展示的那样构建分层 URL,而不会使“项目”控制器膨胀?
【问题讨论】:
-
Routes.php中的路由配置怎么样
-
看起来可行。没有意识到那是多么的强大。谢谢!您能否将其发布为答案,以便我接受。谢谢!
-
@thephatp 您是否考虑过
/project/5/item/12345项目12345 不属于项目5 的情况?在这种情况下会有什么行为? -
@jadkik94 是的,我通过设置 $config['url_suffix']='/' 解决了这个问题。效果很好。
标签: codeigniter hierarchy codeigniter-url