Kubota【保存版】.htaccessを利用したリダイレクト方法まとめ制作の久保田です。リダイレクト設定の方法を見ていきます。コピペで使えるコードと、少し踏み込んだ記述内容の意味を掲載していますので、興味のある方は詳細まで目を通してみてください。有りに統一コードの詳細まとめリダイレクトとは?webサイトの転送設定のことをリダイレクトといいます。古いページに訪れたら、新しいページに転送をかけたい場合に設定します。以下のようなケースでリダイレクト設定を行います。FOUND)」状態になるのを防ぐため、リダイレクトの設定が必要になります。Googleにインデックスされている場合は、転送設定をかけることで、インデックスの評価(PageRank)も引き継ぐことができます。Googleの評価を引き継ぐのは、検索順位にとって非常に重要で、eccoでサイトをリニューアルをした場合は、必ず旧サイトからのリダイレクト設定を行っています。アクセス)とは、webサーバー(Apache)の設定ファイルの事で、サイトにリダイレクトをかける他、ページをパスワード保護したり、アクセス制限したりする場合に設定します。ファイル自体は、テキストエディットやメモ帳などで書くことができるテキストファイルです。いう名前でサーバーにアップロードして使用します。※macの場合、ドット(.)で始まるファイルは不可視ファイルになるため、ローカルで名前を変更する場合は注意してください。アップロードされた、配下のディレクトリすべてにたいして有効になります。ルートディレクトリに配置します。アクセスした場合も転送設定が有効になります。サイト全体ではなく、特定のディレクトリに有効化しい場合は、そのディレクトリ配下に配置します。アクセスした場合、.haccessの設定は有効ではありません。301リダイレクトリダイレクトの方法には、「301リダイレクト」と「302リダイレクト」の2種類があります。単なる数字なのでわかりずらいですが、「ずっと!」か「今だけ!」の違いです。サーバーに、この転送設定はこれから先「ずっと」有効ですと伝えるのは「301」リダイレクト。なく一時的に転送したい場合、この転送は「今だけ」有効ですと伝えるのは「302」リダイレクトです。この設定の違いは、Googleの検索順位にも影響します。301でリダイレクトをかけた場合、Googleは、転送後のサイトを評価するようになります。逆に302でのリダイレクトの場合は、転送前のサイトを評価し続けます。サイトのリニューアル等、今後古いサイトに戻す必要がない場合は「301」リダイレクトを設定し、一時的なメンテナンス表示をする場合等は「302」リダイレクトを設定するようにします。単純なテキストファイルなので、更新自体は簡単です。設定を間違えるとサーバーエラーになり、サイト全体が落ちるといった事にもなります。設定ミスでのエラーは「500エラー」と呼ばれ、原因の特定が難しいエラーです。リダイレクト設定での無限ループであったり、phpのバージョン設定であったり、存在しないファイルの参照であったりします。ファイルを更新するときは、必ずバックアップをとって、すぐに戻せる状態にしておきましょう。以下で記述するコードも、あくまで自己責任で設定し、少しでも不安がある場合はweb制作会社に依頼いただくことをおすすめします。ファイルは、サイトによってはすでに存在する場合があります。その場合、大抵は既存の記述に追記するかたちで大丈夫です。うまく動作しない場合は、もともとの記述内容を理解する必要があるため、制作会社に依頼することをおすすめします。※ここに記載した内容は、動作を保証するものではありません。自己責任で使用してください。ADページをリダイレクト単体のページをリダイレクトする場合の記述は以下になります。[L,R=301]変更するのは色のついた箇所です。転送をかけたいファイル名と転送後のフルパスを記述します。ecco.jp/before.htmlをecco.jp/after.htmlに飛ばしたいときの記述は以下のようになります。[L,R=301]コードの詳細ファイル名の前についている(^)は先頭位置、後ろについてる($)は末尾の位置の指定です。上の例の場合、(先頭)before.html(末尾)を指定しているのでbefore-before.htmlやbefore.htmには一致せず、転送されません。301リダイレクトの設定です。一時的なリダイレクトの場合は、302を設定します。ディレクトリをリダイレクトディレクトリにリダイレクトをかけたい場合は以下のように記述します。[L,R=301]色のついた箇所に、元のディレクトリ名と、転送先のディレクトリ名を記述します。/before/をすべて/aftere/に転送する場合は、以下のようになります。0文字以上の任意の文字列を表しています。ドットは何かの文字、アスタリスクは直前のドットの0回以上の繰り返しという意味があります。部分でマッチした文字列は、転送先ディレクトリの方で参照する必要があります。部分は、後方参照と言い、先の括弧でマッチした文字列を参照しています。して、/after/index.htmlに転送されます。上記のような記述は、正規表現と呼ばれます。詳細を知りたい方は、「正規表現」で検索して調べてみてください。http://からhttps://にリダイレクト(SSL化)常時SSL化があたりまえとなり、httpでのアクセスは、「保護されていない通信」として警告が表示されるようになったためSSL化されたサイトでは、http://からhttps://へのリダイレクトも必要になりました。リダイレクトの設定は、以下のように記述します。[L,R=301]コードの詳細^(.*)$の部分は、先に記載したとおり先頭から末尾までの、0文字以上の文字列です。この場合、すべての文字列にマッチするので、全アクセスが対象です。リクエストされたurlのドメイン以降になります。この場合すべてのリクエストをhttps://に変更してそのままリクエストします。設定する場合は以下のように記述します。無しに統一wwwを無しに統一するには、以下のように記述します。[R=301,L]コードの詳細RewriteCondの行は、www.の記述があるかを判定しています。[NC]ドットは任意の文字を意味しているので、ドット自体を指定する場合は、前にバックスラッシュを付けて(\.)とします。大小文字を問わないという意味です。上記は、日本語にすると以下みたいな感じになります。(先頭)www.(任意の文字列)(末尾)[大小文字問わず]www.のついたすべてのリクエストを対象にしています。実際にリダイレクトを行っているのは、RewriteRuleの行です。先に出てきた$1と似たような意味合いです。上記でwww無しのurlへリダイレクトされます。SSL化されてないサイトの場合は、https://の部分は、http://としてください。有りに統一wwwを有りに統一するには、以下のように記述します。記述の方法は、無しにする場合と似ていますが、こちらは(!)でwww.が入ってなかった場合に実行する記述になってます。[NC](!)で続く内容の否定の場合です。www.が無かったらの意味になります。付いたurlへ飛ばしています。[R=301,L]まとめ今回は、よくあるリダイレクト設定の記述方法のご紹介をしました。コードは短い記述なのですが、先に書いたように、.htaccessの編集は非常にリスクが高いです。.htaccessのバックアップをとってから作業し、サーバーエラーになってもすぐに復旧できる状態で作業するようにしてください。思ったように動作しない場合は、ファイルの先頭に記述すると動作する場合があります。それでも動作がうまく行かない場合は、制作会社に依頼するようにしましょう。以上、.htaccessのリダイレクト設定方法でした。今すぐ電話でご相談お電話でのご相談・見積依頼もお気軽にご連絡ください。ホームページ制作、運用・更新におけるご相談はお気軽にご連絡ください。