0

我正在使用 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 也很缺乏。

4

1 回答 1

1

如果开始始终相同,请使用strpos()

if (strpos($_SERVER['HTTP_HOST'], 'subdomain.example.') === 0) {
    // do something
}

如果区域不同,请使用正则表达式

if (preg_match('/.+\.example\.(org|com|dev)$/', $_SERVER['HTTP_HOST'])) {
    // do something
}
于 2013-05-16T20:33:58.607 回答