Cake doesn't automagically know what you mean with the :username
parameter of your route. There are three default parameters that need no further configuration, those are:
:controller
:action
:plugin
All other parameters need to be specified with a matching regular expression and additionally you will need to specify an array called pass
to tell Cake it should pass the parameter to your controller's action for this page. In your case, the route should probably look something like this:
Router::connect(
'/:username/:controller/:action',
array(), // Since you already have the controller and action in your URL there is no need for further directions here
array(
'pass' => array('username'), // If you want to pass the username to your action
'username' => '[a-zA-Z0-9]+' // What regex the username should match
),
);
Also see the book's page about Routing and specifically this paragraph for further reference.