三级域和 debian

mar*_*rio 2 web-server

我对 Web 服务器的工作方式有非常基本的了解。我希望学习如何设置第三级域 test1.mysite.tld,使其指向 Web 服务器子目录 /var/www/test1/。(www.mysite.tld 应保持指向主目录)。我在一台装有 Debian 的机器上。我在 apache2.conf 中定义了一个虚拟主机

<VirtualHost *>
ServerName test1.mysite.tld
DocumentRoot /var/www/test1/
LogLevel debug
ErrorLog other_vhosts_access.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

尽管如此,当我尝试 url test1.mysite.tld 时,会返回 /var/www/index.html,而不是 /var/www/test1/index.html。

我错过了什么吗?重写规则?我需要为 DNS 做些什么吗?谢谢你的帮助

use*_*517 5

您需要配置基于名称的虚拟主机。首先要做的是配置 DNS,以便 test1.mysite.tld 解析为您服务器的 IP 地址。您如何执行此操作取决于您的 DNS 服务是如何提供的。

基本的 Apache 配置类似于

Listen 80
NameVirtualHost *:80

<VirtualHost *:80>

    ServerName www.mysite.tld 
    Serveralias mysite.tld
    DocumentRoot /var/www/mysite.tld
    ...
</VirtualHost>

<VirtualHost *:80>
    ServerName test1.mysite.tld
    DocumentRoot /var/www/test1/
    LogLevel debug
    ErrorLog other_vhosts_access.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)