CentOS 7 Apachect1删除虚拟主机

时间:2016-05-24 17:52:00

标签: linux apache centos virtualhost

[已解决]

我有运行Apachect1的CentOS 7 VPS,我刚刚完成了一个项目,要求我创建多个子域。现在我已经完成了,我不需要它们,所以我想回去清理一下。

我最初创建了文件

/etc/httpd/sites-available/site1.domain.com.conf
/etc/httpd/sites-available/site2.domain.com.conf
/etc/httpd/sites-available/site(...).domain.com.conf

/etc/httpd/sites-enabled/site1.domain.com.conf
/etc/httpd/sites-enabled/site2.domain.com.conf
/etc/httpd/sites-enabled/site(...).domain.com.conf

他们正在工作,我认为必须删除这些域的所有内容都是删除这些文件并重新启动apache。我这样做但我仍然可以访问这些网站。有什么想法吗?

我运行了这些命令:

# apachectl restart
# systemctl restart named.service
# systemctl start named
# systemctl enable named
# systemct1 status httpd.service

我甚至没有重启我的服务器。对不起,如果我错过任何明显的东西,我还是Linux新手。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

你可以做几件事。

首先要验证 /etc/httpd/conf/httpd.conf ,以确保如何在您的文件中定义VIRTUAL HOSTS以及是否在那里声明了。 Centos httpd config file

如果没有VIRTUAL HOST。你需要确保那些文件不存在

/etc/httpd/sites-available/site1.domain.com.conf
/etc/httpd/sites-available/site2.domain.com.conf
/etc/httpd/sites-available/site(...).domain.com.conf

你也可以尝试这个命令

service httpd stop   (to stop service)
service httpd start (to start service)

让我知道这是否有效:)

答案 1 :(得分:0)

<强>解决

所以我想出了如何解决这个问题。我不知道为什么但问题是,无论何时我去了一个不存在的子域,我都会被重定向到/var/www/SubdomainA/index.php

我解决这个问题的方法是我去了每个子域,并在.htaccess文件中添加了一个重写条件,如果子域不是指定的子域,则将其发送到主站点。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www|SubdomainA)\.example\.com
RewriteRule .* http://www.example.com%{REQUEST_URI} [R=301]

希望这会在某些时候帮助某人。