我有这个网址:
http://mysite.com/pages/index?slug=how-does-it-work
我想将这个网址更改为:
http://mysite.com/how-does-it-work
您可以看到,page
和index
已在网址中删除。
这里的页面是控制器,索引是控制器的动作。
这是我的页面控制器上的代码:
public function actionIndex($slug)
{
if(!empty($slug))
{
$pagesInfo = Pages::model()->find(array("condition"=>"slug='$slug'"));
$isAdmin = 0;
if(isset(Yii::app()->user->idUser)){
$isAdmin = Users::model()->findByPk(Yii::app()->user->idUser)->isAdmin;
}
if($pagesInfo !== null){
$this->render('index',array(
'pagesInfo'=>$pagesInfo,
'isAdmin'=>$isAdmin,
));
}else{
throw new CHttpException(404,'Page cannot be found');
}
}
}
这也是我的.htaccess
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
老实说,我不知道如何将该URL转换为我预期的URL输出。我知道这就是为什么我没有发布我所做的事情。
非常感谢您的帮助!谢谢! :)
答案 0 :(得分:2)
您只需修改urlManager配置,例如:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<slug>'=>'page/index',
// ... other rules
),
),
答案 1 :(得分:0)
您是否已将“urlFormat”更改为项目的config / main.php中的“path”?
您想如何调用此操作?