Home > サーバー構築スキル > | サーバ構築Tips > HTTP301リダイレクト .htaccess によるサイト移転・ファイル移動

HTTP301リダイレクト .htaccess によるサイト移転・ファイル移動

前回、HTTP301リダイレクトについての概要をご紹介いたしました。

それでは、Google や Yahoo ! が推奨している HTTP301リダイレクト( 永久的なリダイレクト)とはどのように設定するのでしょうか?

.htaccessをつかった301リダイレクト

Apache を使用しているレンタルサーバであれば .htaccess を使用して HTTP301リダイレクトを行います。

テキストエディターで .htaccess を作成

.htaccess というのは 初めての方には 「なんか変なファイル名だなぁ・・」 と思われるかもしれません。

Windows を利用している場合には ". (ドット)" で始まるファイルは保存できませんので少し工夫します。

まずテキストエディター( 秀丸等・・なければWindowsのメモ帳でかまいません ) で dot.htaccess.txt 等 ドットの前に適当な文字を入れたファイル名で作成します。

まずは、同一サイト内で公開するファイル名だけが変わった場合の書き方です。

ファイルの記述は以下のように行います

Redirect ( スペース )permanent ( スペース ) / 元のディレクトリ名 / 元のファイル名.html ( スペース ) http:// www.example.com /  元のディレクトリ名 / ( 新たに公開するファイル名 ) .html

公開するディレクトリも新たになった場合は 【http://www.example.com / 元のディレクトリ名 / 】のところに【 / 新ディレクトリ名 / 】を入力します。

【.htaccess 記述例 】

Redirect permanent /2009/03/post.html http://www.example.com/2009/03/Newpost.html
Redirect permanent /2009/04/post.html http://www.example.com/2009/04/Newpost.html
Redirect permanent /2009/05/post.html http://www.example.com/2009/05/Newpost.html

このように記述すれば 同じサイト同じディレクトリで新しいファイル名にリダイレクトされます。

ファイル名を指定して1ファイルごとリダイレクトする場合は ファイルの数分の記述を書き足します。

最後は改行を入れてファイルをセーブします。

ディレクトリごとリダイレクトする場合 は以下のように記述します

Redirect ( スペース ) permanent ( スペース ) / 元のディレクトリ名/ ( スペース ) http://www.example.com/ 新ディレクトリ名 /

【.htaccess 記述例 】

Redirect permanent /2009/Old/ http://www.exsample.com/2009/New/

このように記述すれば 古いディレクトリ以下のファイルが全て新しいディレクトリにリダイレクトされます。

複数のディレクトリ ( フォルダ ) がある場合は ディレクトリ ( フォルダ )分の記述を書き足します。

必ず最後に改行を入れてファイルをセーブします。

作成した.htaccess を FTPでサイトに転送する

それでは作成した .htaccess ファイル を FFTP 等の FTPを使ってサイトに転送します。

転送先は【 http://www.example.com/index.html 】 がある場所です。

先ほど dot.htaccess.txt というファイル名で作成しましたので 転送時に ファイル名を正規のファイル名 ".htaccess " に変更して 転送します。 転送と同時にファイル名を変更できない時は 転送してから改めてファイル名を 正規の ".htaccess "に変更します

" .htaccess " の属性を レンタルサーバーの仕様にあわせて適当に変更します。 【604】あたりでよいかと思います。

HTTPレスポンスヘッダーを確認する

サイトに " .htaccess " を転送したら 正常に動作しているかを HTTPレスポンスヘッダーを取得して確認します。

301リダイレクトを行っていない状態のHTTPレスポンスヘッダー

 

HTTP Response Header

HTTP Status Code: HTTP/1.1 200 OK
Date: Sun, 17 May 2009 10:47:41 GMT 
Server: Apache 
Last-Modified: Sun, 17 May 2009 08:46:34 GMT 
ETag: "10ac343-8cc2-4a0fceea" 
Accept-Ranges: bytes 
Content-Length: 36034 
Connection: close 
Content-Type: text/html 


HTTP/1.1 200 OK

上記HTTP Response Header 以下の記述に 「 HTTP/1.1 200 OK 」 となっていれば正常にファイルは存在しているという意味になります。

.htaccess で301リダイレクトを設定したHTTPレスポンスヘッダー

 次に " .htaccess " で 301リダイレクトを設定した後の HTTPレスポンスヘッダーを確認してみます

【以下のファイルのResponse Headerを取得する】

http://www.googrekas.com/2009/04/usb-Ramag.html

HTTP Request Header

GET / HTTP/1.1[CRLF]
Host: www.googrekas.com[CRLF]
Connection: close[CRLF]
User-Agent: Web-sniffer/1.0.29 (+http://web-sniffer.net/)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://web-sniffer.net/[CRLF]
 

HTTP Response Header

すぐに返信が表示されます。

HTTP Status Code: HTTP/1.1 301 Moved Permanently
Date: Sun, 17 May 2009 10:47:41 GMT 
Server: Apache 
Location: http://www.googrekas.com/2009/04/000012.html 
Connection: close 
Transfer-Encoding: chunked 
Content-Type: text/html; charset=iso-8859-1


HTTP/1.1 301 Moved Permanently


 

HTTP/1.1 301 Moved Permanently

上記HTTP Response Header 応答の最後に 「 HTTP/1.1 301 Moved Permanently 」 というHTTPヘッダーステータス返されています。

さらに 中程に 「Location: http://www.googrekas.com/2009/04/000012.html 」 と表示されています。  これは リダイレクト先の新たなファイルはこのURLです。 という事です。

この HTTP/1.1 の後に続く 【301  Moved Permanently 】というステータスは「コンテンツは永久的に新しい場所に移動しました。又は新しいファイル名になりました。

もう元の状態に戻ってくることはありませんよ!」という意味になります。

 

これで、確認は終了です。

該当のページは 新たなURLにリダイレクトされました。

念の為、ブラウザでアクセスしてみて確認してみても良いでしょう

" .htacceaa " の記述の構文を間違えた場合などは " 500 Internal Server Error " が表示されますので " .htaccess " を再度作成してアップロードしなおしでください。

 

このサイトの当初のコンテンツは " USBメモリー等で感染するするトロイの木馬 "の駆除方法をご紹介する為に サイト公開準備中に 急遽作成して未完成サイトの状態で公開してしまった為 元々考えていたアーカイブテンプレートのアーカイブマッピングを後で変更せざるをえなくたってしまいました。

ウィルス駆除のコンテンツは かなりのアクセスがあり このままではせっかく検索サイトより 記事を参照しようと 訪問された方に情報を提供できなくなってしまう為、 " .htaccess " による HTTP301リダイレクト で 新しい URL に変更しました。

正常に機能しているみたいです。

.htaccess を使った HTTP301リダイレクトも かなり アクセスいただいておりますので

又の機会に もう一回 " .htaccess " による HTTP301リダイレクトのまとめとおさらいをしたいと思っています。 

Trackbacks:0

TrackBack URL for this entry
http://www.googrekas.com/mt/mt-tb.cgi/20
Listed below are links to weblogs that reference
HTTP301リダイレクト .htaccess によるサイト移転・ファイル移動 from アフィリエイトで稼ぐためのサーバ構築スキル

Home > サーバー構築スキル > | サーバ構築Tips > HTTP301リダイレクト .htaccess によるサイト移転・ファイル移動

Search
Feeds

Return to page top