KH-WEBLOG TOP > WEBメモ > その他 > .htaccessを使っての301リダイレクトの方法

.htaccessを使っての301リダイレクトの方法

最終更新日:

.htaccessから301リダイレクトをする方法をメモ

コーディング・WordPress化作業を代行します

特定のページだけを301リダイレクト

特定のページだけを301リダイレクトする場合は
.htaccessに

redirect 301 /sample/page.html http://www.yahoo.co.jp
redirect 301 /page.html http://www.yahoo.co.jp

のように記述します。
※上記は
/sample/page.htmlにアクセスされたらhttp://www.yahoo.co.jpに飛ばす
/page.htmlにアクセスされたらhttp://www.yahoo.co.jpに飛ばす
といった感じです。

ドメイン自体のの301リダイレクト

サイトのドメインを移転したとき等には

RewriteEngine On
RewriteCond %{http_host} ^www.sample.com
RewriteRule ^(.*) http://www.sample2.com/$1 [R=301,L]

のように記述します。
※上記は、
www.sample.com に来たアクセスを www.sample2.com に飛ばす
(mod_rewriteがサーバにインストールされている必要があります)

特定のディレクトリ内を新ドメインにリダイレクト

たとえば、
http://old.com/abc/
というabcフォルダ内だけを一式新ドメインの
http://new.com/
というドメインに301リダイレクトしたい場合は、

Redirect permanent /abc/ http://new.com/

としてあげると、一括で301リダイレクトできるので便利です。
※ファイルの構成が同じ場合のみおすすめ

パラメータ付きURLの301リダイレクト

同じドメインで
http://redirect.com/abc/?abc=123456
のような?以降のパラメータ付きURLを
http://redirect.com/abc/
にリダイレクトしたい場合

RewriteEngine on
RewriteCond %{REQUEST_URI} abc/
RewriteCond %{QUERY_STRING} ^abc=123456$
RewriteRule ^(.*)$ /abc/? [R=301,L]

という感じでリダイレクトできます。

RewriteCond %{REQUEST_URI} abc/
の部分でパラメータより前の部分のパス。

RewriteCond %{QUERY_STRING} ^abc=123456$
の部分でパラメータを指定します。

httpからhttpsへの301リダイレクト

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

さくらサーバー等、一部サーバーでは記述が違いますが、
大体はこちらでOK。

コーディング・WordPress化作業を代行します

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード ソースコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 角丸 関連記事