如果要访问的域在一些已经重定向到该帐户的现有域之外,我会在 PHP 中显示一条消息。
例如,如果域是 www 或非 www,我尝试运行的命令是:
if( $_SERVER[ 'HTTP_HOST' ] != ('xxx.co.uk' && 'www.xxx.co.uk'))
但是,这似乎不起作用,好像我去 xxxx.co.uk (这是指向他们帐户的另一个域)如果内容仍然没有显示。
上面显然缺少一些明显的东西吗?
如果要访问的域在一些已经重定向到该帐户的现有域之外,我会在 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')
查看手册了解更多信息:http: //php.net/manual/en/language.operators.comparison.php
干得好。为什么不使用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;
}