0

我有 url, localhost/user/about/id/5,我希望它转换为 like localhost/john.doe/about,是否可以在 Yii 中做到这一点?

john.doe指用户名 about指操作

我想隐藏控制器名称,在这种情况下user

谢谢您的帮助

4

1 回答 1

1

是的,您需要使用此处的文档中的自定义 UrlRule (Using Custom Url Classes)。然后,您可以在您的类中剥离 URL,尝试查找用户名(如果它不存在)return false,然后让其余的 URL 规则处理。

请记住,您放置自定义规则的 URL 规则的顺序越高,它运行的频率就越高(因为 UrlManager 将在第一个匹配规则上退出),因此如果您将其放在顶部,它会对性能产生影响。

奖励
这也将帮助您生成 URL,因为您可以将用户名作为参数传递给普通 URL,并让您的类完成复杂的操作。

于 2013-01-02T16:54:34.883 回答