As '<controller:\w+>/<action:\w+>' => '<controller>/<action>' was defined before 'profile/<id:[0-9a-zA-Z\-]+>/?' => 'profile/user', it will never reach profile, because it recognized it as a controller/action.