リダイレクト方法301と302のリダイレクト方法の違い
まずはじめに301リダイレクトと302リダイレクトの違いを説明していきます。以下が301・302リダイレクトの違いです。
リダイレクト方式 | 301リダイレクト | 302リダイレクト |
---|---|---|
意味合い | 恒久的・永久的に転送(リダイレクト) | 一時的転送(リダイレクト) |
内容・用途 | ドメイン変更 HPの結合 |
モバイルページ転送 |
キャッシュ | キャッシュする | キャッシュしない |
PageRank | 渡す(現在は不明) | 渡さない |
検索順位への影響 | 特になし(現在は不明) | 特になし |
301リダイレクト
古いドメインで運営していたページを新しいドメインのページに変更する。
以下のコードを.htaccessに記述し、リダイレクトしたいページの直下に設置します。
たとえばold.comをnew.comにリダイレクトしたい場合は.htaccessをold.comの直下に設置
suPHP_ConfigPath /home/hoge/old.com/xserver_php/ AddHandler fcgid-script .php .phps FCGIWrapper "/home/hoge/old.com/xserver_php/php-cgi" .php FCGIWrapper "/home/hoge/old.com/xserver_php/php-cgi" .phps RewriteCond %{HTTP_HOST} ^(old\.com)(:80)? [NC] RewriteRule ^(.*) http://new.com/$1 [R=301,L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
下記に記述してるコードはエックスサーバーでのhtaccessを読み込むコードになるので他のレンタルサーバーに合わせて記述してください。中には記述しなくてもいいサーバーもあります。サーバー内のディレクトリになります。
suPHP_ConfigPath /home/hoge/old.com/xserver_php/ AddHandler fcgid-script .php .phps FCGIWrapper "/home/hoge/old.com/xserver_php/php-cgi" .php FCGIWrapper "/home/hoge/old.com/xserver_php/php-cgi" .phps
一番大事なのは6,7行部分で以下の部分が古いドメインから新しいドメインにリダイレクトする記述になります。
RewriteCond %{HTTP_HOST} ^(old\.com)(:80)? [NC] RewriteRule ^(.*) http://new.com/$1 [R=301,L]
6行目の記述の(old\.com)この部分がドメインの名前になります。
.comの前に「\」を入れて記述をします。「old」は任意の名前に入れます。
7行目の以下の記述は「http://」から記述をして「.com/」の後に「$1」と記述してあげてください。
RewriteRule ^(.*) http://new.com/$1 [R=301,L]
最後の記述はワードプレスでのサイト運営をしてる時の記述になります。ワードプレスで運営をしてる時は以下のコードを記述してあげてください。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
www有無の統一
urlのアクセスも下がりますのでSEO対策のためにもwww.にアクセスがあった場合は統一を図るようにしましょう。以下の記述は「new.com」にアクセスがあった場合はwww.にリダイレクトする記述になります。
RewriteCond %{HTTP_HOST} ^(new\.com)(:80)? [NC] RewriteRule ^(.*) http://www.new.com/$1 [R=301,L]
サクラサーバーでの301リダイレクト方法
「www.test.com」を「test.com」に統一したい時に301リダイレクトは以下の記述です。
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.test\.com)(:80)? RewriteRule (.*) http://test.com/$1 [R=301,L]
以下のコードにアクセスがあった場合は
(www\.test\.com)
「www.」を抜いた「http://test.com」にリダイレクトされるといい記述になります。
http://test.com/$1
サクラサーバーでの301リダイレクト