Apache で問題が発生しているのですが、どうも解決できないようです。
仮想ホスト ファイル内に 2 つの異なる DocumentRoot を指す 2 つのドメインがあります。しかし、これを正しく動作させることができません。追加しようとしていたサイトは 2 番目のドメインからはまったく表示されず、代わりに最初のサイトが表示されます (私の知る限り、これはデフォルトであり、2 番目の仮想ホストに問題があることを意味します)。
私は、新しい Web サイトを最初の仮想ホストの前に置くことでこの問題を回避することができました。つまり、新しい Web サイトは表示されますが、frameset
Apache によってタグに入れられ、ヘッダーを制御できませんでした。
Raspbian (Debian Linux) で Apache 2.2.22 を実行する
これが私の現在のコードです。
<VirtualHost *:80>
ServerName DIR0.com
ServerAlias www.DIR0.com
DocumentRoot /var/www/DIR0.com/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/DIR0.com/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/errors_DIR0.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_DIR0.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName DIR1.com
ServerAlias www.DIR1.com
DocumentRoot /var/www/DIR1/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/DIR1.com/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error_DIR1.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access_DIR1.log combined
</VirtualHost>
答え1
設定されているか確認してください
名前仮想ホスト *:80
設定ファイルで。このディレクティブにより、ServerName を VirtualHost の識別として使用できるようになります。これがない場合は、VirtualHost の識別に IP/ポートを使用していることになりますが、これは両方の VirtualHost で同じです。