我正在使用PHP服务器变量检查域是否为真,然后执行某些操作。我的问题是,其他开发人员将在本地使用相同的站点进行开发/ Git,但他们可能会使用不同的域名后缀命名,例如.dev
,.local
或.whatever
。
$host = $_SERVER['HTTP_HOST'];
if($host == "subdomain1.example.com" or $host == "subdomain1.example.dev") {
// do something!
}
网址的其余部分对每个人都保持不变。我可以看到,如果我们必须考虑dev使用的每个本地domian后缀而不是大量的"or"
语法,这可能最终会过于冗长,以某种方式使用带有类似此伪装的类似的通配符会很好下面:
$host = $_SERVER['HTTP_HOST'];
if($host == "subdomain1.example.*") {
// do something!
}
...但我猜我需要使用正则表达式。我google了一下,真的找不到多少。我的regex-foo非常缺乏,因为我是一个前端/前端开发者。
答案 0 :(得分:1)
如果开头始终相同,请使用strpos()
if (strpos($_SERVER['HTTP_HOST'], 'subdomain.example.') === 0) {
// do something
}
如果区域不同,请使用正则表达式
if (preg_match('/.+\.example\.(org|com|dev)$/', $_SERVER['HTTP_HOST'])) {
// do something
}