如何在apache或symfony2中将子域列入白名单


How to whitelist subdomains in apache or in symfony2

假设有两个域,一个是my.example.comxyz.example.comxyz.example.com无效,访问时应重定向到404。my.example.com是有效的,应该重定向到登录页面

现在让我们说它不仅仅是两个子域,它是使用* wildcard字符在example.com上允许的不受限制的子域数量

我如何才能"白名单"某些子域显示登录页面(当然,在用户注册子域后,它会被放入白名单),而其他非白名单子域显示404页面。

这可以通过一些apache配置来完成吗?一些apache模块?或者,如果可以在没有数据库交互的情况下使用symfony2.8实现这一点,这将对我的web应用程序大有裨益

当我说白名单时,我只是用这个词来表达我的观点,我对任何一种在良好实践中的解决方案都持开放态度

您可以使用apachesymfony

Apache:

两个选项:

1.当您创建一个虚拟主机时,它(在vhost配置文件中)指向一个404页的

2.在.htaccess文件中,使用mod_rewrite规则检查HOST,如果它与模式匹配,则将其指向404文件

Symfony:

为所有请求注册一个侦听器,并检查请求的HOST(在$_SERVER或$request->服务器中),以及它是否与模式匹配;将其指向404文件