Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在转介时重定向来自所有其他站点的所有用户_Php - Fatal编程技术网

Php 如何在转介时重定向来自所有其他站点的所有用户

Php 如何在转介时重定向来自所有其他站点的所有用户,php,Php,您好,我想向来自不同站点的用户显示一条消息https站点或http是否有人可以帮助我重定向来自所有站点的用户示例如果他们有https或http引用的不同站点,这仅适用于http引用 <?php $pos = (strpos($_SERVER['HTTP_REFERER'], 'http')); if($pos===false) die('<h1>Restricted access</h1>'); else {echo '<h1>It Works&l

您好,我想向来自不同站点的用户显示一条消息https站点或http是否有人可以帮助我重定向来自所有站点的用户示例如果他们有https或http引用的不同站点,这仅适用于http引用

<?php 
$pos = (strpos($_SERVER['HTTP_REFERER'], 'http'));
if($pos===false)
  die('<h1>Restricted access</h1>');
else
{echo '<h1>It Works</h1>';}

?>

您可以使用它来检测引用URL是否为http://

<?php 

if(strstr($_SERVER['HTTP_REFERER'], 'http://')) {
  die('<h1>Restricted access</h1>');
} else {
    echo '<h1>It Works</h1>';
}

?>
<?php 

if($_SERVER['HTTP_REFERER']) {
  die('<h1>Restricted access</h1>');
} else {
    echo '<h1>It Works</h1>';
}

?>

一般来说,正则表达式应该用于此类问题。。。以下内容可以解决您的问题

if (preg_match('/http(s)?/',$_SERVER['HTTP_REFERER'])) {
    echo 'redirect now';
} else {
    echo 'stay here';
}

这不适用于我需要的东西我需要这个来显示它只适用于来自推荐的用户和受限访问的用户,如果他来自空白,但使用http它适用于我共享的代码,但我也需要它适用于https推荐。你知道,我已经更新了我的答案。我想我理解了你的问题现在这适用于https,但不适用于http:(请理解我,我需要同时处理所有2个问题。好的,我显然不理解你的问题。也许你可以在你的问题中添加一些例子来让问题更清楚?你是在试图区分http和https引用还是确定引用主机本身?我希望向所有来自https或http引用,这是我的问题,我需要向来自世界上所有站点的所有用户展示它的工作原理,如果他们是http或https。您的代码应该很好,您可能希望使用stripos,因此它不区分大小写。这是一个简单的文本搜索,Strops或stripos更有效、更合适。