Debian Jessie に apache2 を入れてみた【補足:バーチャルホスト編】
もりすけです。
前回アップした記録の続きです。
この記録ではドメインで設定ファイルを分けていました。
反映される設定ファイル
では、設定ファイルを作っていないドメインやIPアドレスを指定したら
どの設定が反映されるでしょうか。
答えは
「有効化された設定ファイルの一番最初」
です。
drwxr-xr-x 2 root root 4096 6月 6 21:17 . drwxr-xr-x 8 root root 4096 6月 6 21:08 .. -rw-r--r-- 1 root root 1332 2月 1 17:23 000-default.conf -rw-r--r-- 1 root root 6437 2月 1 17:23 default-ssl.conf -rw-r--r-- 1 root root 1332 6月 6 21:17 example.com.conf ※すべてのファイルが `a2ensite` で設定を有効化しているものとします。
この場合、設定ファイルを作っていないドメインでアクセスがあると、
000-default.conf
が反映されます。
だからデフォルトファイルは default.conf
ではなく、
頭に 000-
をつけて一番最初にいるんですね。
設定ファイルのないドメインのアクセスをどうする?
では、どう対処するか。
設定ファイルのないドメインは404に飛ばしてしまいましょう。
/etc/apache2/sites-available$ sudo vi 0000-404.conf
ファイル名は一番上になればなんでもいいです。
わかりやすいように404もファイル名に入れておきました。
<VirtualHost *:80> ServerName 404 Redirect 404 / </VirtualHost>
ServerName はなんでもいいです。
Redirect 404 /
で404ページにリダイレクトします。
こうしておけば、設定をしていないドメインは
すべて404ページに飛ばされることになりますので、
他のドメインの設定が勝手に反映されて表示された
なんてことがおこらなくなります。
逆にすべて特定のドメインにリダイレクトさせることも
できるので便利ですね。
最後に
ドメインによってファイルを分けていますので
ページ内容が別のドメインに反映されたら
たいへんなことになります。
この設定はしっかりしておいたほうがいいかもしれませんね。