XAMPPで複数のサイトを制作する方法を見ていきます。
「XAMPPを使ってhtmlやphpをブラウザで表示してみよう」で書いたように、XAMPPは初期状態では複数のサイトを制作することに不都合がありますので、「xampp/htdocs/hoge/」に対してドメインをあてたいと思います。
hostsを編集しよう
windowsXP~8であれば「C:/WINDOWS/system32/drivers/etc/」の中にhostsというファイルがありますので、テキストエディタで開き、一番下に「127.0.0.1」と「あてたいドメイン名」を追加します。例えば「xampp/htdocs/hoge/」に対してlocal.devというドメインをあてたい場合は、
127.0.0.1 local.dev
を追加します。
これは「local.dev」にアクセスしたら127.0.0.1に繋げなさいという意味です。
127.0.0.1というのはお使いのPCのローカルホスト「http://localhost」のことです。
「.dev」というドメインは実際にはないと思うのですが構いません。.devを消して「local」だけでも構いません。
但し、実際に存在するドメイン(google.comなど)をhostsの中に記述してしまうと、そのサイトにアクセスできなくなってしまうので気をつけましょう。
Virtualhostの設定をしよう
hostsを設定しましたが、このままではlocal.devにアクセスしても「http://localhost」が表示されてしまいます。
表示したいのは「http://localhost/hoge/」なのでVirtualhostという機能を使います。
Virtualhostはひとつのサーバで複数のサイトを閲覧可能にする機能です。
Virtualhostを使うにはXAMPPをインストールしたディレクトリ「xampp/apache/conf/extra/」の中のhttpd-vhosts.confというファイルを編集します。
「##NameVirtualHost *:80」の頭の##を消し、「NameVirtualHost *:80」にします。これでVirtualhostが有効になりました。
次に一番下に下記を追加します。
※下記はXAMPPをCドライブの直下にインストールしている場合です。別の場所にインストールしている場合は置き換えて記述してください。
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/" ServerName localhost </virtualhost> <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/hoge/" ServerName local.dev </VirtualHost>
Apacheの再起動
2つの設定が終わったらXAMPPのコントロールパネルでApacheを再起動(stopをクリックして再度start)を行えば完了です。
うまくいっていれば「http://local.dev」にアクセスすると「xampp/htdocs/hoge/」の中が表示されると思います。
まとめ
複数のフォルダにドメインをあてるときは、上記と同じようにhostsに
127.0.0.1 あてたいドメイン名
httpd-vhosts.confに
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/フォルダ名/" ServerName あてたいドメイン名 </VirtualHost>
を書き加えればいくつでも増やすことができます。
言うまでもないと思いますが、hostsは自分のPCのみに有効なので他のPCからlocal.devにアクセスしてもXAMPPの中を見ることはできません。