PHP通配符在域名后缀使用服务器变量



我使用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
}

相关内容

  • 没有找到相关文章

最新更新