Dúvida de como utilizar o motor de busca e usuário URLs amigáveis

Salve galera do Yii Brasil!

Minha dúvida é relacionada a esse tópico do wiki

http://www.yiiframework.com/wiki/53/using-search-engine-and-user-friendly-urls

gente eu estou fazendo isso dentro do controler




echo $this->createUrl('/post/view',array('id'=>$post->id,'title'=>urlseo::slug($post->title)));



o resultado tá voltando assim:


/post/view?id=1&title=atencao-e-um-aviso

mas eu gostaria que voltasse assim:

/post/1/atencao-e-um-aviso

configurei minha urlManager:


'post/<id:\d+>/<title>'=>'post/view',

qual a solução?


'post/<id:\d+>/<title:\w+>'=>'post/view',

Adriano,

Posta todo os rules do main.php, pois as ordem afeta na construção.

Obrigado brothers!

Agora as regras do url ficaram certas, realmente tem ave com a ordem dos controllers e actions.

Newerton vc pode me explica qual é a logica dessa ordem?





'urlManager'=>array(

	'urlFormat'=>'path',

	'showScriptName'=>false,

	'rules'=>array(

	

		'<controller:\w+>/<id:\d+>/<title:\w+>'=>'<controller>/view',

		'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',

		'<controller:\w+>/<action:\w+>' => '<controller>/<action>',


	),

),




o sistema checa uma por uma e qual dar match antes é aceita

Agora estou na ultima fase da Url amigável!

bom, utilizei uma class de slug que o Edson Rodrigues me forneceu para tirar os [color="#FF0000"]ç~^,!?´`[/color].

criei um CreaterUrl


$this->createUrl('/post/view',array('id'=>$post->id,'title'=>urlseo::slug($post->title)));

e o valor tá retornando certim assim


/post/1/atencao-e-um-aviso 

mas quando eu tento acessa esse url amigável pelo browser

dá [color="#FF0000"]Error 404

The system is unable to find the requested action "1".[/color]

a expressao regular \w+ nao inclui traços, assim nao da o match na primeira rule e soh da na ultima

faça algo como


<title:[a-zA-Z\-_]+>

onde aceita traço e underline