\ w in regexp means the word character, and a part of the url like "my-prety-page" will not match. To hide the GET parameters, you must improve your urlManager rules. You can write this rule for pages using SEF URLs:
'<controller:\w+>/<id:\d+>/<title:[^\/]*>/*' => '<controller>/view'
In this case, when you enter the URL
http://example.com/page/12/my-prety-title
the page controller will be called to perform an action of the form with id and title as arguments. Same thing if you enter this URL:
http:
The last part /* in the rule allows you to save additional parameters. For instance. if your address
http://example.com/user/55/john-doe-junior/foo/bar/
in UserController actionView you can write
echo '<pre>' ; print_r($_GET); echo '</pre>' ; die();
and you will see
Array ( [id] => 55 [title] => john-doe-junior [foo] => bar )
source share