好的,我已经查看了一段时间,并且我很确定我已经正确配置了虚拟主机文件。
<VirtualHost *:80>
ServerName example.com
Redirect permanent http://www.example.com/ /
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/example
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ScriptAlias /cgi/ /var/www/html/cgi-bin/
<Directory /var/www/html/cgi-bin/>
Options ExecCGI
AddHandler cgi-script .py
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName example.net
Redirect permanent http://www.example.net/ /
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/example
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName test.com
Redirect permanent http://www.test.com/ /
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/test
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
这是一个 .conf 文件。希望我可以让 3 个网站在一个 IP 地址上工作。我四处查看,一切都表明这应该可以工作,但事实并非如此。在浏览器中输入任何域名都只会显示一个网站,无论 DocumentRoot 设置为何值。
还有其他我应该了解的设置吗?我是否应该启用多个 .conf 文件?我是否应该使用不同的端口?
为什么这不起作用?
答案1
首先,我删除了重定向,因为它们不相关。
现在我使用 ServerAlias 我也使用 DirectoryIndex 我使用通配符条目在同一端口上的不同虚拟主机中设置它们
启用所有三个并且现在可以工作了。