我正在使用Yii框架开发一个网页,我想像facebook一样进行网址管理。 这是我的网址 www.mywebpage.com/user/profile/id/10 但是我不想这样显示这个网址,我想像这样显示 www.mywebpage.com / yogi 我能在Yii做到吗?请任何人帮助我。
答案 0 :(得分:0)
我认为您需要的所有信息都在这里:http://www.yiiframework.com/doc/guide/1.1/en/topics.url
答案 1 :(得分:0)
查看此文章以开始使用: http://yiitutorials.net/easy/easy-url-rewriting-with-yii
您将基本上将用户自定义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']."'");
如下所述,here is an example from a real website。在此示例中,网址如下所示: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部分(&lt;:。+&gt;中的位)
希望有所帮助!