我在一台服务器上有两个虚拟主机:srv-08.zone08.edu:80 tulip.zone08.edu:8088
当我输入 srv-08.zone08.edu:8088 时,我什么也不需要得到。
文件 /etc/apache2/ports.conf:
NameVirtualHost srv-08.zone08.edu:80
NameVirtualHost tulip.zone08.edu:8088
Listen 80
Listen 8088
文件配置 srv-08.zone08.edu(第一行几行):
<VirtualHost srv-08.zone08.edu:80>
ServerAdmin [email protected]
ServerName srv-08.zone08.edu
***
文件配置 tulip.zone08.edu(第一行很少):
<VirtualHost tulip.zone08.edu:8088>
ServerAdmin [email protected]
ServerName tulip.zone08.edu
***
我认为,更改 VirtualHost(只是)和 NameVirtualHost 就足够了。但这还不够......(这样,其他连接的电脑就看不到我的主机了。有什么想法吗?
配置文件:
<VirtualHost tulip.zone08.edu:8088>
ServerAdmin [email protected]
ServerName tulip.zone08.edu
DocumentRoot /usr/apache
ErrorLog /home/usr/apache2.log
RewriteEngine on
RewriteCond %{HTTP_HOST} srv-08.zone08.edu
RewriteRule (.*) http://srv-08.zone08.edu/$1
<Directory "/usr/apache">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
</VirtualHost>
配置是对的。一切正常,除了 RewriteEngine 和正确的主机名
由于您将它们放在同一台服务器上,并且服务器正在侦听这两个端口,因此当您连接到 Apache 实际处理的端口时,您不可能一无所获。不过,您可以做一些不同的事情,这可能是您想要的,也可能不是您想要的。我会尝试看看我是否可以帮助你。
首先,最好将系统的 IP 地址而不是主机名放入配置文件中。这样,即使您遇到 DNS 问题,也不会混淆 Apache。
这是郁金香服务器的新配置,请记住输入您自己的实际 IP 地址,而不是我使用的 1.2.3.4。您还需要修复一个可用日志字段的路径,我在其中编写了 PATH-TO-LOGFILE
我修复了另一个拼写错误,您使用的是 /VintualHost 而不是 /VirtualHost,并且我为重写过程添加了一些日志记录。一旦你让它按照你想要的方式运行,你就可以删除 RewriteLog 和 RewriteLogLevel 行,但现在你需要它们来找出我可能误解的任何内容。