301リダイレクトの話の続きです。今回は実践編。 301リダイレクトの方法は2つ 1、.htaccessというファイルにリダイレクトを記述してサーバーにアップする 2、PHP等で記述する 以下、301リダイレクト基礎のまとめ+1【SEOブログ~とある会社で、SEO対策~】で、勉強しました。 ★方法1★ .htaccessというファイルにリダイレクトを記述してサーバーにアップする (1)「.htaccess(ドット・エイチ・ティー・アクセス」というファイルをつくるのですが、そのままでは作れないので、a.htaccess等で保存して、いったんサーバーに上げてから、ドットの前の文字を消して作成します。アップする場所は、ルートディレクトリまたは、リダイレクトを行いたい階層のトップ。 (2)ファイルにリダイレクトのコードを記入。 コードの例 ●トップページを新しいドメイン(www.new.com)に301リダイレクトする Redirect 301 / http://www.new.com/ ●フォルダ(/old/→/new/)を301リダイレクトする Redirect 301 /old/ http://www.sample.com/new/ ●サイトの全ページを新しいドメインのトップページへ301リダイレクトする RedirectMatch 301 (.*) http://www.new.com/ サーバーによって事なりますが、「Mod-Rewrite」というプログラムをサポートしている時に使える便利な301リダイレクトです。 ●サイト全体を(階層やページを含め丸ごと)301リダイレクトする RewriteEngine On RewriteCond %{http_host} ^www.old.com RewriteRule ^(.*) http://www.new.com/$1 [R=301,L] ●wwwなしのURLを入れた時にwwwありのドメインに301リダイレクトする Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^sample.com RewriteRule ^(.*)$ http://www.sample.com/$1 [R=permanent,L] ※動かない場合はOptions +FollowSymLinksは外してもいい場合があります。 ※コンピュータの言語環境によっては「.(ドット)」の前に「\(バックスラッシュ)」や「¥(円マーク)」が入る場合があります。 .htaccessがつくれない環境のときには、PHP等で記述します。逆に考えれば、PHPすら使えない環境の時は、301リダイレクトは使えません。(つまり、アメブロはPHPつかえないとおもうんで、301リダイレクトは無理です) ★方法2★ PHP等で記述する <?php header ('HTTP/1.1 301 Moved Permanently'); header ('Location: http://www.new.com/'); exit (); ?> ここで、重要なのがheader ('HTTP/1.1 301 Moved Permanently');記述。これがないと301リダイレクトにならないので、気をつけて下さい。逆にexit ();は記述無しで動作する場合もあります。 というかんじらしい。 302リダイレクトの方法に関しては次回。