为什么我的 Apache 虚拟主机显示 Apache 的默认页面?

为什么我的 Apache 虚拟主机显示 Apache 的默认页面?

我在想我是不是做错了什么?我有指向我的服务器 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 的默认页面...

答案1

您需要修改虚拟主机的根目录。否则,您将拥有一个显示与主域完全相同数据的子域。

对于 subdomain.domain.com,您应该将DocumentRoot子域名设置为,DocumentRoot /var/www/page1并将 subdomain2.domain.com 设置为DocumentRoot /var/www/page2等。

查看例子

答案2

你的配置看起来应该像这样:

名称虚拟主机 *:80

<虚拟主机 *:80>
  服务器名称 domain.com
  服务器别名 www.domain.com
  DocumentRoot /var/www/ivan #你的 Web 根目录的绝对路径
</虚拟主机>

<虚拟主机 *:80>
  服务器名称 subdomain1.domain.com
  服务器别名 www.subdomain1.domain.com
  DocumentRoot /var/www/sub1 #你的 Web 根目录的绝对路径
</虚拟主机>

<虚拟主机 *:80>
  服务器名称 subdomain2.domain.com
  服务器别名 www.subdomain2.domain.com
  DocumentRoot /var/www/sub2 #你的 Web 根目录的绝对路径
</虚拟主机>

相关内容