Php 带和不带www的http_主机

Php 带和不带www的http_主机,php,conditional,http-host,Php,Conditional,Http Host,我有一个消息显示在PHP中,如果域将要在一些现有的已经重定向到帐户的域之外 例如,如果域是www或非www,我尝试运行的命令是: if( $_SERVER[ 'HTTP_HOST' ] != ('xxx.co.uk' && 'www.xxx.co.uk')) 然而,这似乎不工作,如果我去xxxx.co.uk,这是另一个域指向他们的帐户,如果内容仍然没有显示 我显然遗漏了上面提到的一些明显的东西?试试这个用法,而不是“用” if( $_SERVER[ 'HTTP_HOST' ]

我有一个消息显示在PHP中,如果域将要在一些现有的已经重定向到帐户的域之外

例如,如果域是www或非www,我尝试运行的命令是:

if( $_SERVER[ 'HTTP_HOST' ] != ('xxx.co.uk' && 'www.xxx.co.uk'))
然而,这似乎不工作,如果我去xxxx.co.uk,这是另一个域指向他们的帐户,如果内容仍然没有显示


我显然遗漏了上面提到的一些明显的东西?

试试这个用法,而不是“用”

if( $_SERVER[ 'HTTP_HOST' ] != ("xxx.co.uk" && "www.xxx.co.uk"))
如果上面的一个不起作用,试试下面的一个

if( ($_SERVER[ 'HTTP_HOST' ] != "xxx.co.uk") && ($_SERVER[ 'HTTP_HOST' ] != "www.xxx.co.uk"))
陈大卫是对的:

if ($_SERVER['HTTP_HOST'] != 'xxx.co.uk' || $_SERVER['HTTP_HOST'] == 'www.xxx.co.uk')
查看手册了解更多信息:

给你。为什么不使用preg_match


我认为您需要在if语句中重复$\u SERVER['HTTP\u HOST']。如果$\u服务器['HTTP\u主机]!='xxx.co.uk“||$\u SERVER['HTTP_HOST']=='www.xxx.co.uk'我不确定你在问什么,域名是www,还是www?我想你会在这里找到你想要的:第一个永远不会正常工作-&操作符不是那样工作的。
if(!isset($_SERVER['HTTP_HOST']) || !preg_match('/^(www\.)?xxx(x)?\.co\.uk$/', $_SERVER['HTTP_HOST'])){
  header($_SERVER['SERVER_PROTOCOL'].' 400 Bad Request');
  die;
}