我前几天在域名注册商的DNS编辑器中启用了指向mysite.com的'www'子域主机logging,并且更改已经传播。
不过,我想暂时禁用它。
1)为什么www.mysite.com工作,即使我已经在/etc/apache2/sites-available/mysite
注释了以下代码?
#<VirtualHost *:80> #ServerAlias www.mysite.com #DocumentRoot /mywebsite #</VirtualHost>
是否需要在apache2中进行更改以启用子域?
2)我怎样才能暂时禁用从Apache2“www”子域?
你可能想要重新启动Apache来强制重新加载Apacheconfiguration,以确保使用最新的指令;
service httpd restart
< – 在centos或红帽
/etc/init.d/apache2 restart
<—在debian或ubuntu上
如果这是一个实时生产站点,则可能还需要考虑在应用更改之前运行configuration检查;
service httpd configtest
< – 在centos或红帽
Syntax OK
/etc/init.d/apache2 configtest
<—在Debian或Ubuntu上
如果apache不能识别别名www.mysite.com
那么它将被发送到默认站点,或者_default_:80或者*:80,这取决于你是否configuration了NameVirtualHost *:80
如果你在一个合理的操作系统,那么apachectl
命令可以用来枚举apache知道的虚拟主机,
[root@g0803 init.d]# apachectl -S VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server g0801.hpl.com (/etc/httpd/conf.d/boopo.conf:110) port 80 namevhost 01.hpl.com (/etc/httpd/conf.d/boopo.conf:110) port 80 namevhost portal.boep.com (/etc/httpd/conf.d/lime-portal.conf:5) _default_:443 g0803.hpl.com (/etc/httpd/conf.d/ssl.conf:81) Syntax OK
使用HTTP 1.1和基于名称的虚拟主机,apache会检查“主机”标题以决定发送请求的位置,所以除非您希望将子域名logging切换到某个空目的地,否则您将需要放入一个VirtualHost用www主机头来捕获这些请求,并将它们redirect到一个保存页面,或者一些死锁的服务器。
临时解决方法是将您的网站指向某个空文件夹,或返回到默认主页,例如;
<VirtualHost *:80> ServerAlias www.mysite.com DocumentRoot /var/www/html </VirtualHost>