如何禁用apache2的子域?

我前几天在域名注册商的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>