www*_*.me 3 apache virtualhost
我创建了2个虚拟主机http:// web1.com:2107指向"/ var/www/web1"文件夹,第二个http:// web2.com:2107指向"/ var/www/web2".web2中的所有子域都工作正常,但是对于web1.com:2107,我只能看到主页.当我尝试从web1打开任何子域名时,如http:// games.web1.com:2107,它指向web2的主页,即/ var/www/web2 /目录
配置有什么问题吗?
下面是我正在使用的主机的代码
<VirtualHost *:80>
ServerName web2.com
ServerAdmin myeow@web2.com
ServerAlias http://www.web2.com
DocumentRoot /var/www/web2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/web2>
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/web2/error80.log
CustomLog /var/www/web2/access80.log Combined
</VirtualHost>
<VirtualHost *:2107>
ServerName web2.com
ServerAdmin myeow@web2.com
ServerAlias http://www.web2.com
DocumentRoot /var/www/web2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/web2>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/web2/error.log
CustomLog /var/www/web2/access80.log Combined
LogLevel warn
CustomLog /var/log/apache2/web2.com_access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
================================================== =================
NameVirtualHost *:2107
<VirtualHost *:2107>
ServerName web1.com
ServerAlias http://web1.com
DocumentRoot /var/www/web1
<Directory /var/www/web1/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ErrorLog /var/www/web1/error.log
CustomLog /var/www/web1/access.log Combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当您有多个VirtualHost时,其中一个是默认的VirtualHost.它是包含VirtualHost定义的文件的第一个字母顺序.
删除VirtualHost时.如果在Hosts文件或DNS记录中仍有条目,则在Apache服务器上执行查询时,如果找不到正确的VirtualHost(ServerName或ServerAlias),则会使用默认值来处理答案.
当您添加新的VirtualHost时,如果您在ServerName或ServerAlias中出错,您也将拥有默认的VH.
更新
现在问题已经完成,我可以看到你没有以正确的方式使用ServerAlias.所有子域都应该在ServerAlias指令中列出,而不是http://所以你应该:
ServerName web1.com
ServerAlias www.web1.com
ServerAlias games.web1.com
Run Code Online (Sandbox Code Playgroud)
你也许可以试试*.web1.com.否则,当您使用未列出的名称时,将使用默认的vhost(此处定义vhost web2.com,因此它是此端口上的默认值)
| 归档时间: |
|
| 查看次数: |
10825 次 |
| 最近记录: |