我在想我是不是做错了什么?我有指向我的服务器 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 根目录的绝对路径 </虚拟主机>