Apache-2.2

為什麼我的 Apache 虛擬主機顯示 Apache 的預設頁面?

  • June 1, 2021

我想知道我做錯了什麼還是什麼?我的子域指向我的伺服器 IP(我的伺服器的公共 ip),但是當我轉到我的子域時,它會顯示 Apache 的預設頁面。是的,我正在使用名稱虛擬主機,但仍然沒有…

現在我已經將頁面放在 html 目錄中,它工作正常,但我認為這不是解決方案。是的,我可以將我的子域指向 subdomain.domain.com/thepage 但我不想這樣做。這就是我在conf中的內容。部分

   NameVirtualHost *:80
   <VirtualHost *:80>
   ServerName    subdomain.domain.com
   DocumentRoot  /var/www/
   ServerAlias   www.subdomain.domain.com
   </VirtualHost>

有什麼建議嗎?


這就是我所擁有的..

NameVirtualHost *:80
<VirtualHost *:80>
ServerName    domain.com
DocumentRoot  /var/www/ - here is domain.com ( there is directory named ivan )
ServerAlias   www.domain.com
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>
ServerName    subdomain1.domain.com
DocumentRoot  /var/www/ - and here is subdomain1.domain.com - directory named sub1
ServerAlias   www.subdomain1.domain.com
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>
ServerName    subdomain2.domain.com
DocumentRoot  /var/www/ - and here is subdomain2.domain.com - directory named sub2 ( And I don't know if they need to be the same name as the address or ??? sometimes I'm confused about that. )
ServerAlias   www.subdomain2.domain.com
</VirtualHost>

我得到的只是Apache的預設頁面……

您需要修改虛擬主機的根目錄。否則,您將擁有一個子域,它將顯示與您的主域完全相同的數據。

對於 subdomain.domain.com,您應該將子域的 設置DocumentRoot為 並將 subdomain2.domain.com設置DocumentRoot /var/www/page1DocumentRoot /var/www/page2等。

查看範例

您的配置應如下所示:

名稱虛擬主機 *:80

<虛擬主機 *: 80>
伺服器名稱 domain.com
伺服器別名 www.domain.com
DocumentRoot /var/www/ivan # 網路根目錄的絕對路徑
</虛擬主機>

<虛擬主機 *: 80>
伺服器名稱 subdomain1.domain.com
伺服器別名 www.subdomain1.domain.com
DocumentRoot /var/www/sub1 # 你的網路根目錄的絕對路徑
</虛擬主機>

<虛擬主機 *: 80>
伺服器名稱 subdomain2.domain.com
伺服器別名 www.subdomain2.domain.com
DocumentRoot /var/www/sub2 # 你的網路根目錄的絕對路徑
</虛擬主機>

引用自:https://serverfault.com/questions/571677