ServerAlias が Ubuntu で動作しない

ServerAlias が Ubuntu で動作しない

何度も聞かれる質問だとは思いますが、すべて読んでも問題は解決しませんでした。仮想ホスト Apache を次のように構成しました。

sudo nano /etc/apache2/sites-available/example.loc

<VirtualHost *:80>
ServerName example.loc
ServerAlias www.example.loc

DocumentRoot /var/www/example/web
<Directory /var/www/example/web>
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined

これを /etc/hosts ファイルに記述します:

127.0.0.1   localhost
127.0.0.1   example.loc

そして、次のようにサイトを読み込みました。

sudo a2ensite example.loc

Apacheを再起動しました。

example.loc にアクセスすると正常に動作しますが、www.example.loc にアクセスすると動作せず、www.example.loc が見つからないというメッセージが表示されます。

設定で何か間違ったことをしてしまったのでしょうか?

答え1

これは、がwww.example.locとは異なる FQDN でありexample.loc、ホスト ファイルで前者を指定していないためです。

ホスト ファイルの行を次のようにします。

127.0.0.1   example.loc www.example.loc

関連情報