ローカルで複数ドメイン使用

ホームページを作成している方は、サーバーにアップして公開する前に、
自宅パソコンのローカルサーバで確認していると思いますが、
複数のサイトを別のドメインやサブドメインで運用している場合、
ローカルと実際のサーバでルートディレクトリの位置が違ってややこしくなる時があります。

例えば、hoge.example.comとpiyo.example.comで、それぞれサイト運営したとします。
公開サーバでは、hoge.example.comとpiyo.example.comのディレクトリが作られて、
それぞれのディレクトリ直下にindex.htmlを置けばhttp://hoge.example.comとhttp://piyo.example.comで見ることができます。
でも、ローカルで同様なディレクトリ構成にしても、
http://localhost/hoge.example.comとhttp://localhost/piyo.example.comにしないと見ることができません。
だから、別ページにトップページのリンクを張る場合、
公開サーバではリンク先を「/」でリンクできても、ローカルサーバでは「/」ではリンクできず、相対パスやURLで指定しなければなりません。
PHPでヘッダやフッタを共通にしている場合など、ローカルと公開サーバで同じにしようとすると、
URLでリンクを指定するか、if文で条件分岐しなければなりません。

で、ローカルでディレクトリ単位でルート化する方法です。

*環境は、xampp-win32-1.7.2、WindowsXPとします。
*xamppはE:¥xampp下にインストールしているものとします。
*公開フォルダ「htdocs」直下に「hoge.example.com」「piyo.example.com」の2個のフォルダがあり、それぞれをルートディレクトリにしたいとします。

変更するのは次の2個のファイルです。
E:¥xampp¥apache¥conf¥extra¥httpd-vhosts.conf
C:¥WINDOWS¥system32¥drivers¥etc¥hosts

1.httpd-vhosts.confファイルの変更

修正部分 ※コメントアウトをはずします。

変更前 ##NameVirtualHost *:80
変更後 NameVirtualHost *:80

以下、最終行以降に追加

<VirtualHost *:80>
DocumentRoot "E:/xampp/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "E:/xampp/htdocs/hoge.example.com"
ServerName hoge.localhost
</VirtualHost>
<Directory "E:/xampp/htdocs/hoge.example.com">
order deny,allow
allow from ALL
</Directory>

<VirtualHost *:80>
DocumentRoot "E:/xampp/htdocs/piyo.example.com"
ServerName piyo.localhost
</VirtualHost>
<Directory "E:/xampp/htdocs/piyo.example.com">
order deny,allow
allow from ALL
</Directory>

2.hostsファイルの変更

以下、追加

127.0.0.1 localhost #この行に下に下記を追加
127.0.0.1 hoge.localhost
127.0.0.1 piyo.localhost

3.Apacheの再起動

xamppの場合、xamppのコントロールパネルで「STOP」「START」でOK。

関連記事

カテゴリー:レンタルサーバ
タグ:

1 個のコメント

  1. ネットで稼ぐ
    Posted 2011年4月12日 at 7:02 PM | Permalink

    ありがとうございます!
    参考にさせていただきます♪

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください