いまさらですけど、こちらの方が安全かもです。
先ほどのですと、リダイレクト先の安全性の検証をしていないので。
function http_host_301_redirect() {
// 現在のブログの URL 情報
$site_host = parse_url( get_bloginfo('url', 'raw' ) );
// 現在のブログのドメイン
$site_host = $site_host['host'];
// リクエストがあったドメイン
$http_host = $_SERVER["HTTP_HOST"];
// リダイレクト先の URL を形成
$redirect = ( empty( $_SERVER["HTTPS"] ) ? "http://" : "https://" ) . $site_host . $_SERVER["REQUEST_URI"];
// 現在のブログのドメインとリクエストがあったドメインが一致、またはリダイレクト先が安全ではない場合は何もしない
if ( $site_host === $http_host || !wp_http_validate_url( $redirect ) )
return;
// 指定されたURLへ 301 リダイレクトする。
wp_redirect( $redirect, 301 );
}
add_action( 'template_redirect', 'http_host_301_redirect', 0 );
wp_http_validate_url という関数で、リダイレクト先が有効かどうかを判断しています。
無効だった場合は、何もしないようにしています。
wp_http_validate_url – 安全なURLか調べる
http://elearn.jp/wpman/function/wp_http_validate_url.html