www ありの URL を www 無しの URL にリダイレクトする
独自ドメインでサイトを運営する際に、http://www.example.com/ のように “www” を頭につけるか、http://example.com/ のように “www” をつけないか、どちらかにしていると思います。しかし、設定によってどらちでもアクセス可能で同じ内容が表示されているという場合も多いです。(www の有無で別内容を表示することもできますが、普通はしませんよね。)
このとき、www の有り無しどちらでアクセスさせるかを統一しておかないと、検索エンジンの結果に二重に表示されたり、ソーシャルブックマークサービスで別々の URL としてカウントされたりしますので、SEO の観点でいうと好ましくありません。
そこで、Apache であれば .htaccess ファイルを使ってリダイレクトさせることができます。
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule (.*) http://example.com/$1 [R=301,L]
これは www 有りから無しへリダイレクトさせる場合です。http://www.example.com/foo/bar にアクセスすると http://example.com/foo/bar に飛びます。うまく行かない場合は、.htaccess の利用が禁止・制限されている、mod_rewrite モジュールが入っていないなどの理由が考えられます。
追記: WordPress での注意点
WordPress では最初から .htacces ファイルが置かれています。このファイル中の # BEGIN WordPress から # END WordPress までは管理画面の「パーマリンク構造を更新」ボタンを押すと上書きされてしまいます。.htaccess ファイルに設定を書く場合は、これらの前後にします。
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com RewriteRule (.*) http://example.com/$1 [R=301,L] RewriteEngine on RewriteRule (.*)\.html$ $1 [R=301,L] # BEGIN WordPress <IfModule mod_rewrite.c> この間は上書きされる </IfModule> # END WordPress
コメントはまだありません
No comments yet.
Sorry, the comment form is closed at this time.