我使用PHP服务器变量来检查一个域是否为真,然后做一些事情。我的问题是,其他开发人员将在本地拥有相同的站点用于开发/Git,但他们可能会用不同的域名后缀命名,例如.dev
, .local
或.whatever
。
$host = $_SERVER['HTTP_HOST'];
if($host == "subdomain1.example.com" or $host == "subdomain1.example.dev") {
// do something!
}
URL的其余部分对每个人都保持不变。我可以看到,如果我们必须考虑开发人员使用的每个本地域后缀,那么这可能会变得太冗长,所以不是大量的"or"
语法,而是以某种方式使用通配符,例如下面的伪代码:
$host = $_SERVER['HTTP_HOST'];
if($host == "subdomain1.example.*") {
// do something!
}
…但我猜我需要使用正则表达式。我用谷歌搜索了一下,并没有找到什么。我的regex-foo也很缺乏,因为我是一个主题/前端开发人员。
如果开头始终相同,则使用strpos()
if (strpos($_SERVER['HTTP_HOST'], 'subdomain.example.') === 0) {
// do something
}
如果区域不同,使用regex
if (preg_match('/.+.example.(org|com|dev)$/', $_SERVER['HTTP_HOST'])) {
// do something
}