如果用户尝试在控制台中键入不存在的操作,如何在我的网站中重定向或呈现无效页面。我想要一个通用的代码,因为我在网站上有很多控制器,这样如果用户输入错误或不存在的操作将重定向到页面上写着“你丢失或请求页面未找到”?
我正在使用Yii框架。
答案 0 :(得分:0)
对于控制器和操作,Yii会自动执行此操作 - 如果您的URL管理器配置设置正确。
在config / main.php中的urlmanager
部分:
'urlManager'=>array(
'showScriptName' => false,
'urlFormat'=>'path',
'useStrictParsing'=>true,
'rules'=>array(
// Remove all the default Yii rules
// Add your own specific rules
),
),
这里有几件事:
useStrictParsing
阻止Yii在尝试匹配网址时过于慷慨如果您正在讨论在Controller Action中抛出错误,可以使用Yii的CException类来执行此操作。
public function actionCheckOk()
{
if($ok)
{
$this->render('ok');
}
else
{
throw new CHttpException(404, 'Page not found');
}
}