自宅サーバの道しるべ
▼ホーム
ホームへ戻る
▼基本設定
ネットワーク構成
Fedoracore3の設定
コンパイラの導入
ポート設定の概要
ポート設定(ルータ)
ポート設定
(ファイアウォール)
▼新サーバPC
新サーバPCのスペック
ネットワークドライバの
インストール
グラフィックドライバの
インストール
▼ダイナミックDNS
ダイナミックDNSの概要
DynDNSの設定
ddclientの設定
▼メールサーバ
メールサーバの概要と準備
Postfixの構築
Qpopperの構築
不正メール中継テスト
空メール(自動返信メール)
スパムメール対策(Postfix)
バーチャルドメイン設定
(Postfix)
▼Webサーバ
Webサーバの概要と準備
Apacheの構築
PHPの構築
バーチャルホストの設定
HTTPリダイレクトの設定
▼データベース
MySQLの構築
PostgreSQLの構築
▼FTPサーバ
FTPサーバの概要と準備
vsftpdの構築
▼共有サーバ
Sambaの概要と準備
Samba構築(ファイル共有)
cupsの概要と準備
cupsの構築(プリンタ共有)
プリンタ設定(クライアント)
▼資料
HTTPステータスコード
▼リンク
参考書籍一覧
参考書籍のレビュー
リンク
関連サイト
 ■ホーム>HTTPリダイレクトの設定
■Webサイトの移動(バーチャルホストのHTTPリダイレクト)
Webサイトを運営していて何らかの事情により、URLを変更したい場合の移行方法を紹介します。
実際に当サイトでは、実験を兼ねて古いホスト名から
新しいホスト名(my-server.homelinux.com)に対してHTTPリダイレクトを行っています。


■HTTPリダイレクトとは
Webサーバからの応答の一種で、URLが変更になったことを知らせる機能のことです。
(HTTP/1.1のステータスコード301または307が返ります。)
一般的なWebブラウザではHTTPリダイレクトを認識すると、
リダイレクト先(指定された新しいURL)を自動的に読み込むようになっています。

HTTPステータスコードについては
HTTPステータスコード
上記のページを参照して下さい。

※HTML文書内にMETAタグやJavaScriptを使ってリダイレクトする方法もありますが、
 Webブラウザ上の動作は同じでもHTTPリダイレクトと厳密には異なる処理をしています。
今回HTTPリダイレクトを設定する環境は、以下のような条件を想定しています。
・バーチャルホストを使用します。
・Apacheの環境設定ファイル(httpd.conf)を変更して機能を実現させます。
 (セキュリティの都合上、”.htaccessファイル”は使いません。)
・サイトのディレクトリ構成は新旧ともに同じ構成とする。

Webサーバ関連の構築については
Apacheの構築
バーチャルホストの設定
上記のページを参照して下さい。

Step1.新しいホスト名の設定(バーチャルホストの設定)
バーチャルホストの設定の手順に従い、 新しいホスト名”my-server.homelinux.com”で
アクセスできる環境を構築します。
※ここでは具体的な例として、古いホスト名は”old-server.homeip.net”とします。
(実在しないホスト名ですので、実際にアクセスしても当サイトにリダイレクトはしません。)

具体的な環境は下記の通りです。
 

転送元

転送先

ホスト名 old-server.homeip.net my-server.homelinux.com
URL http://old-server.homeip.net/ http://my-server.homelinux.com/
ユーザー名 web www
ドキュメントルート /home/web /home/www
IPアドレス

同一IPアドレス

転送先(新しいホスト名)の環境構築が完了したら、
FTPで古いホスト名のドキュメントルート以下を新しいホスト名のドキュメントルート以下に転送します。

Step2.Apacheの環境設定(httpd.confの設定変更)
Step1.ではバーチャルホストの設定の為にhttpd.confを編集しましたが、
今度は転送(HTTPリダイレクト)の設定を行う為にhttpd.confを編集します。

具体的にはバーチャルホスト設定箇所の転送元(古いホスト名)設定部分を以下のように変更します。

Apache環境設定ファイル(/etc/httpd/conf/httpd.conf)

修正前

修正後

<VirtualHost 192.168.11.101>
    ServerName old-server.homeip.net
    DocumentRoot /home/web

</VirtualHost>
<VirtualHost 192.168.11.101>
    ServerName old-server.homeip.net

    Redirect permanent / http://my-server.homelinux.com/
</VirtualHost>

変更箇所の解説

■ServerName
 サーバ名は必須なので、変更する必要はありません。

■DocumentRoot
 この設定は不要なので削除します。

■Redirect permanent
 この設定を追加することにより、HTTPステータスコード301(Moved Permanently)が返され、
 HTTPリダイレクトが可能になります。 

 書式としては以下のようになります。

 Redirect permanent リダイレクト元のパス リダイレクト先のURL
 ※リダイレクト元のパスとリダイレクト先のURLの間は半角スペースを入れます。

当サイトの場合、ドキュメントルート以下はすべてリダイレクト(転送)したいので、
リダイレクト元のパスには、”/”を設定し、
リダイレクト先は新しいURLである”http://my-server.homelinux.com/”を設定しました。


HTTPリダイレクトの設定完了後、設定を有効にする為にApache(httpd)を再起動する必要があります。
終端(ターミナル)を開きます。
# /etc/init.d/httpd restart


httpd を停止中:                                   [ 
OK  ]
httpd を起動中:                                   [ 
OK  ]

#
 

このコマンドにより、Apache(httpd)を
再起動します。

このメッセージが表示されれば、
再起動完了です。
以上でHTTPリダイレクトの設定はすべて完了です。

Step3.動作確認
動作確認するには、実際にWebブラウザからアクセスして、
HTTPリダイレクトが行われているか確認するのが一番です。
(バーチャルホストによるHTTPリダイレクトの為、バーチャルホストの設定
 Step5.に書かれている注意点を考慮した上で動作確認を行って下さい。)

確認方法としては、以下の2種類で十分だと思います。

(1)視覚的にHTTPリダイレクトが分かるように、例えばトップページの文言の一部を
   転送元と転送先で変えておきます。
   転送元のURLにWebブラウザからアクセスし、転送先のトップページが表示されるか確認します。

(2)トップページ以外のページもWebブラウザから転送元URLでアクセスして、
   WebブラウザのURLが転送先URLになっていることを確認します。
   
※当サイトの場合は以下のようにしてHTTPリダイレクトを確認しました。

確認
方法

Webブラウザ入力URL

 

HTTPリダイレクトURL

(1) http://old-server.homeip.net/ http://my-server.homelinux.com/
(2) http://old-server.homeip.net/apache.php http://my-server.homelinux.com/apache.php

以上でHTTPリダイレクトの設定は完了です。



ホームへ戻る

ページトップへ