LogoMark.png

301Redirect の変更点


#author("2020-02-07T18:34:27+09:00","default:inoue.ko","inoue.ko")
*301 Redirect
サイトの移動にともなう .htaccess の設定

~

**はじめに
301リダイレクトとは、サイトの移設やURLの変更に際して、変更前のURLから変更後のURLへ、ユーザーを誘導する仕組みのことです。
-[[Google:301リダイレクト]]
~

***参考:meta refresh
ページのリダイレクトには、meta refresh(メタリフレッシュ)を使う、というもっと簡単な方法もあります。サーチエンジンにサイトの移動を認識させるには、301リダイレクトを使うことが推奨されてます(Google)が、念の為、meta refresh によるサイト転送の方法を紹介します。

転送元(つまりもう古くなったページ)のHTML、<head>~</head>内にmeta要素を使って以下のように記述します。
 <meta http-equiv="refresh" content="0;URL=http://example.com">
この記述ではページアクセスから 0 秒後に、example.com へ転送されます。

''事例''
古いサーバーに以下を index.html として置くと新しいURLに誘導できます。
 <!DOCTYPE html>
 <html lang="jp">
   <head>
     <meta charset="utf-8">
     <meta http-equiv="refresh" content="5;URL=http://example.com/">
     <title>SamleSite</title>
   </head>
   <body>
       <center>
            <p>サイトを引っ越ししました。5秒で移動します。</p>
            <p>新しいURL:http://example.com/</p>
       </center>
   </body>
 </html>
''付記'':5行目部分の解説
 content="5;URL=http://example.com/"
-「5」 は自動転送までの時間です。速攻移動であれば 0 です。
-URL= の部分に移動先のアドレスを記載します。

~
~

**301リダイレクト

***301リダイレクトを利用するには
転送元のサーバーで、htaccessの利用が許可されている必要があります。
ちなみに、大学のサーバーの個人用ディレクトリはこれが認められていますので、試すことが可能です。
~

***.htaccessファイルとは
.htaccess(エイチティアクセス)とは、 Apache(アパッチ)というWebサーバーソフトを制御する設定ファイルの1つで、このファイルに必要な記述を行うことで、例えば以下のようなアクセス設定をすることができます。
-特定のディレクトリへのアクセス時にパスワードを要求したい
-特定のデバイス以外からアクセスできないようにしたい
-サーバーの移転等、別のURLへの自動転送を行いたい

プレーンなテキストファイルとして存在するものなので、テキストエディタなどで記述して保存するだけです。

&color(red){''保存名に要注意''};
ファイル名の先頭が [ . ] のものは、ドットファイルと呼ばれ、これは''隠しファイル''の扱いになるので、不用意に保存するとファイル自体が見えなくなります。Windowsの場合は、フォルダ設定で「隠しファイルを表示」にすると見えますが、Macの場合は、[[ターミナルからコマンド>Terminal]]を打って設定を変える必要があるなど、扱いが面倒です。よって、
 htaccess  で保存 > FTPアップロード > 名称に [.] をつける
とするほうがよいでしょう。
ただし、もちろんFTPクライアント上では、ファイルが見える(隠しファイルも表示する)設定になっていることが必要です。
~

***.htaccessファイルを置く場所
-.htaccessファイルは、転送元のサーバーで、対象がその直下に見えるルートディレクトリーに置きます。
~

***.htaccessファイルの書き方
たった1行ですが、テキストエディタ等で入力して保存します。
-例1)
 Redirect permanent / http://www.example.com/xxxxx/
現在のディレクトリ( / )以下へのアクセスが、www.example.comサーバーのディレクトリ xxxx 以下へ転送されます。
-例2)
 RedirectMatch 301 (.*) http://www.example.com/xxxxx/
現在のディレクトリ( / )内のすべてのページへのアクセスが、www.example.comサーバーのディレクトリ xxxx のトップへ転送されます。

~


***便利なツール
-[[CMAN htaccessによるリダイレクト>https://htaccess.cman.jp/explain/redirect.html]]
このサイトは、転送のタイプ、転送元、転送先を指定することで、.htaccessファイルの記述を自動生成してくれます。便利です。

-[[ohotuku.jp リダイレクトチェック>http://ohotuku.jp/redirect_checker/]]
旧サイトにアクセスして、これが正しくリダイレクトされているか、確認することができます。
~
~
~