我刚开始学习yii框架,阅读了这篇有关yii如何设置URL的教程。
但是我不知道,如果我有10个控制器,我是否应该在配置文件中逐个定义控制器?是否有更好的方法来为所有控制器设置友好的URL,例如www.yoursite.com/yourController/yourAction/yourID?
我认为codeigniter会自动处理这个问题...那么yii呢?
我刚开始学习yii框架,阅读了这篇有关yii如何设置URL的教程。
但是我不知道,如果我有10个控制器,我是否应该在配置文件中逐个定义控制器?是否有更好的方法来为所有控制器设置友好的URL,例如www.yoursite.com/yourController/yourAction/yourID?
我认为codeigniter会自动处理这个问题...那么yii呢?
在 /protected/config/main.php 中添加...
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName' => false,
),
),
在您的网站根目录下,有一个名为 .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
<?php echo CHtml::link('topic title',array('topic/view','id'=>$topic->id,'var'=>'123')); ?>
渲染后的URL将如下所示:
/topic/view/id/1/var/123
然后在我们的 actionView() 方法中使用这些参数:
...
$id=$_GET['id'];
$var=$_GET['var'];
...