假设有两个域,一个是my.example.com
和xyz.example.com
,xyz.example.com
无效,访问时应重定向到404。my.example.com
是有效的,应该重定向到登录页面
现在让我们说它不仅仅是两个子域,它是使用* wildcard
字符在example.com
上允许的不受限制的子域数量
我如何才能"白名单"某些子域显示登录页面(当然,在用户注册子域后,它会被放入白名单),而其他非白名单子域显示404页面。
这可以通过一些apache配置来完成吗?一些apache模块?或者,如果可以在没有数据库交互的情况下使用symfony2.8实现这一点,这将对我的web应用程序大有裨益
当我说白名单时,我只是用这个词来表达我的观点,我对任何一种在良好实践中的解决方案都持开放态度
您可以使用apache或symfony
Apache:
两个选项:
1.当您创建一个虚拟主机时,它(在vhost配置文件中)指向一个404页的
2.在.htaccess文件中,使用mod_rewrite规则检查HOST,如果它与模式匹配,则将其指向404文件
Symfony:
为所有请求注册一个侦听器,并检查请求的HOST(在$_SERVER或$request->服务器中),以及它是否与模式匹配;将其指向404文件