1

我正在使用 Yii 框架开发一个网页,我想做像 facebook 一样的 url 管理。这是我的网址www.mywebpage.com/user/profile/id/10但我不想这样显示这个网址,我想这样显示www.mywebpage.com/yogi我可以在 Yii 中做吗?请任何人帮助我。

4

2 回答 2

0

我认为您需要的所有信息都在这里:http ://www.yiiframework.com/doc/guide/1.1/en/topics.url

于 2012-10-29T07:31:05.810 回答
0

查看这篇文章开始:http: //yiitutorials.net/easy/easy-url-rewriting-with-yii

您将基本上将用户自定义 URL 存储在数据库中。因此,示例 URL 将是http://example.com/user/userurl

在您的主配置中,您可以设置如下规则:

user/<customurl:.+> => 'user/view' //second part is the controller/action

该规则定义了一个带有“http://example.com/user/”的 URL,斜杠后面的部分可以被一个名为“customurl”的 GET 变量访问。然后,您可以像这样访问用户自定义 URL:

$_GET['customurl'];

并查询用户记录,如下所示:

$user = User::model()->find("customurl = '".$_GET['customurl']."'");

如下所述,这是来自真实网站的示例。在此示例中,URL 如下所示:http : //website.com/blog/ {post_title}/{post_id}

所以这个规则是这样的:

london-blog/<post_title:.+>/<post_url:.+> => 'blog/viewpost' 

所以在我们的博客控制器中,我们有一个名为 viewpost 的操作(见上文,规则是如何指向这个控制器/操作的?),它看起来像:

public function actionViewpost(){
    $blogpost = Blog::model()->find("post_title = '".$_GET['post_title']."'");
    ...
}

因此,任何具有 london-blog/some_value/some_value 格式的 URL 都将指向配置中指定的控制器操作。然后,您可以使用配置中定义的变量名称访问 some_value 部分(< :.+> 中的位)

希望有帮助!

于 2012-10-29T07:52:45.297 回答