2009-07-27 132 views
7

我刚开始学习Yii框架和阅读本教程 约yii how to setup url如何设置网址在Yii框架友好的自动

,但我不知道,假如我有10个控制器,我应该在配置定义一个接一个控制器档案? 有没有更好的方法来为所有控制器设置url友好像www.yoursite.com/yourController/yourAction/yourID?

我认为codeigniter自动做到了...... yii怎么样?

回答

19

在/protected/config/main.php加..

'urlManager'=>array(
     'urlFormat'=>'path', 
     'showScriptName' => false,  
     ), 
    ), 

在Web根一个.htaccess ..

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 
+1

我希望我可以给+10票这个答案,因为发现它会救了我的搜索的一个小时,并努力得到它的工作正常。 – 2009-11-05 00:10:09

1

Yii也有自动生成的URL。例如只写在你的模板,例如URL 没有手动路由:

<?php echo CHtml::link('topic title',array('topic/view','id'=>$topic->id,'var'=>'123')); ?> 

而呈现的网址将是如下:

/topic/view/id/1/var/123 

然后在我们的行动的actionView()方法中,我们使用这些参数:

... 
$id=$_GET['id']; 
$var=$_GET['var']; 
...