How to handle missing action?

Hi all.

I have an action in url named "saiba-mais" with minus between words.

I get this error: Page Not Found

The system is unable to find the requested action "saiba-mais".

Well, Shouldn't the controller able to see my method?

public function actionSaibaMais() {} 

I tried to use __call() method to intercept this missing action and forward to the right method, but this __call method isn't even called.

For SEO issues, I need to call the action "saiba-mais" and no other option.

I'd like to solve this without creating a router rule for this.

Can someone help me? Oo'


Try http://www.yiiframew…ngAction-detail

An alternative approach is to override CUrlManager::parseUrl()

public function parseUrl($request)



   ...transform $route based on your criteria...

   return ..transformed $route...


Thank you Both!

Maybe this issue should be in guide. Or an advanced guide.

For SEO issues, why not creating a route?

It seems, saiba-mais is more a sluggefied identifier than an action

Because I don't want to create a route just because I have only one method with this specific name.

In teory, the Yii framework should apply some Inflector method to translate to proper method name. Like, “come-on” shoud look action name “ComeOn”, depending on rule translation.  ;D