Windows版Apacheの話

皆さんお久しぶりです。最近駄目なラノベばっかり読んでる管理人、やmです。

仕事でサーバー関連の事をやっていると、時々WindowsでApacheを動かしてくれとかそういう依頼も来るわけで。
最近そんな仕事をした時に気づいた事。

普段LinuxでVirtualHostが複数あるWebサーバーを立てる時、

<VirtualHost *:80>
DocumentRoot /home/web/defaultroot
</VirtualHost>
<VirtualHost *:80>
ServerName http://www.site-A.com
DocumentRoot /home/web/sitea/
</VirtualHost>
<VirtualHost *:80>
ServerName http://www.site-B.com
DocumentRoot /home/web/siteb/
</VirtualHost>

という書き方をする。すると

http://www.site-A.com → /home/web/sitea/
http://www.site-B.com → /home/web/siteb/
それ以外(IP直打ちなど)    → /home/web/defaultroot

という動きになる。
直接Apacheのドキュメントを参照したわけでは無いから正しい事を言ってる気がしないんだけど、基本的にはVirtualHostが複数あった場合、1番目の上に2番目が上書きされる感じになる。

しかし、Windows版のApacheで一番上にServerName無しのVirtualHostを書くと、何故か2番目のVirtualHostが作動せず、1番目の方に来てしまう
この例の場合、Site-Aにアクセスするとdefaultrootに来てしまう。
そして何故かSite-Bは正常だったりする。

まぁ、きっと微妙なバージョンの組み合わせで発生するバグだと思けど…。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。