[已解决]
我有运行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新手。谢谢你的帮助。
答案 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]
希望这会在某些时候帮助某人。