Alter login form redirect doesn't work I have user login block on custom page, I try:

if ($form_id == 'user_login_block') {

    $form['#redirect'] = '/';//or &lt;front&gt;

}


But I am redirecting always to the same page.
The user login block form is a special case.  You will see that in the #action property, it defaults to /node?destination=node.  The "destination" is the important piece, as it will override many of the normal avenues you would take to redirect the form including a $form_state['redirect'] in a submit handler.  The code below is an example of how you can redirect the user_login_block form by modifying the #action property.

/**
 * Implements hook_form_alter().
 */
function mymodule_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ('user_login_block' == $form_id) {
    $path = 'path/i/am/redirecting/to';
    $form['#action'] = url($_GET['q'], array('query' =&gt; array('destination' =&gt; $path)));
  }
}


Also, take a look at hook_form_FORM_ID_alter(), which is the preferred method for altering the form for performance reasons.