web-dev-qa-db-ja.com

Apache仮想ホストの問題

私は今Apacheが嫌いだと思いますが、問題は続きます。私の側の構成エラーか、目の前にあるものがわからないだけかもしれませんが、Apacheでサブドメインを構成しようとしていますが、何があっても、常にサブドメインをWebにリダイレクトしますメインドメインのルート。私の設定は以下に掲載されています(そして、はい、ドメイン名情報は意図的に変更されました):

<VirtualHost *>
DocumentRoot /var/www/root/
ServerName example.com
<Directory /var/www/root/>
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
<IfModule mod_php5.c>
php_flag register_globals off
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>

# access to configtest is limited by default to prevent information leak
<Files configtest.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>
</Directory>

# users will prefer a simple URL like http://webmail.example.com
<VirtualHost *>
DocumentRoot /usr/share/squirrelmail/
ServerName squirrelmail.example.com
</VirtualHost>
1
Nik

NameVirtualHost *を使用して名前ベースの仮想ホストを有効にする必要があります。また、これが重要かどうかはわかりませんが、squirrelmailドキュメントのルートがVirtualHostコンテナの外部で定義されているのはなぜですか?

2
Brian

まず、設定をインデントして読みやすくする必要があります。ある種のエラーを見つけるのにも役立ちます。

これがエラーの原因であるとは思いませんが、試してみる価値があります;) docs say:DocumentRootは、末尾にスラッシュを付けずに指定する必要があります。

仮想ホスト構成にエラーが表示されません。デフォルトのドメインにリダイレクトされるとのことなので、エラーはApache側にあるとは思いません。おそらくエラーはあなたが指定したindex.phpからのものです–リダイレクトするようにsquirrelmail設定でデフォルトのホストか何かを設定しましたか? index.phpを、何かを出力するだけのファイルに置き換えて、それが機能するかどうかを確認してください。

0
Marian