redirect or rewrite /user/xx links to a module page This should be easy to do, but its very hard to Google.

Within the admin and surrounding workflows, various links point to user/foobar. I have a different page to display users, say /faces/xx. I want to intercept (or rewrite) every url linking to user/foobar/ to faces/xx.

Pathauto lets you customize what paths user profiles have. If I set that to /faces/[user:uid], it will create aliases overriding my module router; so that faces/xx looks the same as user/foobar previously did. That is not what I want. 

You can redirect users on login or other triggers. That is also not what I am looking for.

Most likely, I can override something in my module that intercepts user/foobar calls and does a drupal_goto('faces/xx'). Or there is a url_alter that I can override that writes out the user/foobar links. That, or something similar, is what Im looking for.

EDIT -- sample code from the module that generates the faces page

function faces_menu() {
    $items = array();
    $items['faces/%'] = array(
        'title'             =&gt; t('Face'),
        'access callback'   =&gt; true, // more complex in reality
        'page callback'     =&gt; 'faces_page',
        'page arguments'    =&gt; array(1,2),
        'type'              =&gt; MENU_CALLBACK,
    );
    return $items;
}
function faces_page($uid) {
    global $user;
    $output =  array(
        'faces-page' =&gt; array(
            'magic'     =&gt; voodoo($uid),
            '#theme'    =&gt; 'faces_pages'
        )
    );      
    return $output;
}


and ofcourse theres a faces_theme() to match it.
d'oh! thanks to @geoff above .. this seems to work (in a module called 'faces')

function faces_user_view($account, $view_mode, $langcode) {
    if ($view_mode=='full') {
        drupal_goto('faces/'.$account-&gt;uid);
    }
}