Apache-2.2
Ubuntu Apache 子域不顯示
使用 Ubuntu 18.04
我有我的主要網站
www.example.com
,所有文件都託管在/var/www/html/
其中,並且按預期工作。我現在想在子域中創建一個新網站www.blog.example.com
。我在我的網路主機上為子域創建了一個新的 dns 記錄,並確認它正在工作,當我 ping 時,
www.blog.example.com
我看到了正確的伺服器 IP 地址。我的目錄結構如下所示;
/var/www/html
(包含www.example.com的所有文件)/var/www/blog.example.com
(包含用於測試的單個 index.html 文件)我有每個域的虛擬主機,內容如下;
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html <Directory /var/www/html/rascal.ac.uk> AllowOverride all Order allow,deny allow from all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Include conf-available/serve-cgi-bin.conf </VirtualHost>
/etc/apache2/sites-available/blog.example.com.conf
<VirtualHost *:80> ServerName blog.example.com DocumentRoot /var/www/blog.example.com <Directory /var/www/blog.example.com/> AllowOverride all Order allow,deny allow from all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
也有
/etc/apache2/sites-available/000-default.conf
這樣的;<VirtualHost *:80> DocumentRoot /var/www/html <Directory "/var/www/html"> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
所有站點均已啟用,並且我已多次重新載入/重新啟動 apache。
當我訪問時,
www.example.com
我看到了我的主要網站,正如預期的那樣。當我訪問www.blog.example.com
我的主要網站時,我應該看到我的index.html
文件中的內容。如果我禁用
000-default.conf
兩個 url 顯示的內容blog.example.com
,問題可能出在這個文件中嗎?
你有
ServerName blog.example.com
但這與www.blog.example.com的名稱不同。所以 Apache 不使用那個 VirtualHost。它改為回退到預設的 VirtualHost。添加
ServerAlias www.blog.example.com
應該修復它。請參閱ServerAlias。
當然,這些是範例名稱。如果這不能解決問題,請編輯您的問題以顯示真實的主機名。