Penangkap URL salah

Jika seorang user yang mengetikan asal ke URL yang tidak sesuai dengan misalnya : http://localhost/rskasih/index.php/drugPackage,

kemudian muncul pesan Erorr berikut :


Error 404

Unable to resolve the request "drugPackage".

Pertanyaannya :

bagainama caranya agar error tersebut langsung diarahkan ke halaman tertentu … atau di tangkap…

terimakasih sebelumnya …!

action controller yang bertugas menangkap error terletak di SiteController di method actionError().

Di situ agan bisa nambah code kira2 seperti begini:


public function actionError()

	{

	    if($error=Yii::app()->errorHandler->error)

	    {

	    	if(Yii::app()->request->isAjaxRequest)

	    		echo $error['message'];

	    	else{

                        if($error['code']=='404') //kalau errornya adalah 404

                            $this->redirect('kemana');

                        else //selain itu tetap seperti biasanya

	        	    $this->render('error', $error);

                }

	    }

	}

terimakasih gan atas petunjuknya, Sangat membantu bagi Ane yang masih mendalami yii…

Mohon izin gan menggunakan kodenya…

Sep2… thanks atas ijo2nya :D

Info Tambahan,

Error Message tidak secara default dilempar yii ke controller site/error, tetapi bergantung setingan Controller/Action di /config/main.php, kebetulan disitu errorAction dilempar ke site/error, Bisa saja dilempar ke Controller/Action lainnya…

	'errorHandler'=>array(


		// use 'site/error' action to display errors


        'errorAction'=>'site/error',


    ),

kalo menurut ane, lebih baik dibiarkan saja, karena error itu tampil ketika user memanggil controller tidak dengan cara resmi (click / redirect ). jadi biarkan saja user nakal itu tahu kalo kenakalannya tidak berujung apapun.