0

如果要访问的域在一些已经重定向到该帐户的现有域之外,我会在 PHP 中显示一条消息。

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

if( $_SERVER[ 'HTTP_HOST' ] != ('xxx.co.uk' && 'www.xxx.co.uk'))

但是,这似乎不起作用,好像我去 xxxx.co.uk (这是指向他们帐户的另一个域)如果内容仍然没有显示。

上面显然缺少一些明显的东西吗?

4

3 回答 3

0

试试这个使用 "" 而不是 ' '

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"))
于 2014-07-25T04:26:09.613 回答
0

陈大卫是对的:

if ($_SERVER['HTTP_HOST'] != 'xxx.co.uk' || $_SERVER['HTTP_HOST'] == 'www.xxx.co.uk')

查看手册了解更多信息:http: //php.net/manual/en/language.operators.comparison.php

于 2014-07-25T04:26:37.823 回答
0

干得好。为什么不使用preg_match()

if(!isset($_SERVER['HTTP_HOST']) || !preg_match('/^(www\.)?xxx(x)?\.co\.uk$/', $_SERVER['HTTP_HOST'])){
  header($_SERVER['SERVER_PROTOCOL'].' 400 Bad Request');
  die;
}
于 2014-07-25T04:56:37.280 回答