多个域通过端口 80 到一个虚拟服务器
multiple domains to one virtual server via port 80
我不明白,希望您能提供帮助。
我有 3 个域和一台服务器。我想通过正确的 DirectoryRoot 上的端口 80 获取所有 3 个域。但我无法做到这一点。对于我当前的 sites-available/default 文件,它们都链接到同一目录 (domain3)。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
ServerName www.domain1.tld
ServerAlias *.domain1.tld
DocumentRoot /var/www/domains/domain1/
<Directory /var/www/domains/domain1/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ServerName www.domain2.tld
ServerAlias *.domain2.tld
DocumentRoot /var/www/domains/domain2/
<Directory /var/www/domains/domain2>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ServerName www.domain3.tld
ServerAlias *.domain3.tld
DocumentRoot /var/www/domains/domain3/
<Directory /var/www/domains/domain3>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
You Must Use virtual Hosts 这里是教程。
试试这个
<VirtualHost *:80>
DocumentRoot /var/www/domains/domain1/
ServerName www.domain2.tld
ServerAlias *.domain2.tld
</VirtualHost>
您应该执行以下操作:
- 通过 运行 这个命令禁用默认站点:
rm /etc/apache2/sites-enabled/default
- 然后,在您的 /etc/apache2/sites-available 目录中,您应该为您的 3 个虚拟主机创建 3 个文件:
001-域 1
<VirtualHost *:80>
ServerName www.domain1.tld
DocumentRoot /var/www/domains/domain1
</VirtualHost>
002-域 2
<VirtualHost *:80>
ServerName www.domain2.tld
DocumentRoot /var/www/domains/domain2
</VirtualHost>
003-域 3
<VirtualHost *:80>
ServerName www.domain3.tld
DocumentRoot /var/www/domains/domain3
</VirtualHost>
- 现在,您所要做的就是启用 3 个虚拟主机并重新启动 apache。 运行 从您的站点可用目录执行以下命令:
a2ensite 001-domain1
a2ensite 002-domain2
a2ensite 003-domain3
/etc/init.d/apache2 restart
我不明白,希望您能提供帮助。
我有 3 个域和一台服务器。我想通过正确的 DirectoryRoot 上的端口 80 获取所有 3 个域。但我无法做到这一点。对于我当前的 sites-available/default 文件,它们都链接到同一目录 (domain3)。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
ServerName www.domain1.tld
ServerAlias *.domain1.tld
DocumentRoot /var/www/domains/domain1/
<Directory /var/www/domains/domain1/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ServerName www.domain2.tld
ServerAlias *.domain2.tld
DocumentRoot /var/www/domains/domain2/
<Directory /var/www/domains/domain2>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ServerName www.domain3.tld
ServerAlias *.domain3.tld
DocumentRoot /var/www/domains/domain3/
<Directory /var/www/domains/domain3>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
You Must Use virtual Hosts 这里是教程。
试试这个
<VirtualHost *:80>
DocumentRoot /var/www/domains/domain1/
ServerName www.domain2.tld
ServerAlias *.domain2.tld
</VirtualHost>
您应该执行以下操作:
- 通过 运行 这个命令禁用默认站点:
rm /etc/apache2/sites-enabled/default
- 然后,在您的 /etc/apache2/sites-available 目录中,您应该为您的 3 个虚拟主机创建 3 个文件:
001-域 1
<VirtualHost *:80>
ServerName www.domain1.tld
DocumentRoot /var/www/domains/domain1
</VirtualHost>
002-域 2
<VirtualHost *:80>
ServerName www.domain2.tld
DocumentRoot /var/www/domains/domain2
</VirtualHost>
003-域 3
<VirtualHost *:80>
ServerName www.domain3.tld
DocumentRoot /var/www/domains/domain3
</VirtualHost>
- 现在,您所要做的就是启用 3 个虚拟主机并重新启动 apache。 运行 从您的站点可用目录执行以下命令:
a2ensite 001-domain1
a2ensite 002-domain2
a2ensite 003-domain3
/etc/init.d/apache2 restart