1

我正在尝试重定向我网站上来自特定推荐网站的用户以获得特殊消息。我有这个:

<?php $REFERER = $_SERVER['HTTP_REFERER'];

  if ($REFERER == "http://www.url.com/") { 
?>

Content Goes Here

?>    
    }
?>

他们没有得到消息

我做了一个测试,并从我的其他站点之一进行了测试,并回应了 $_SERVER['HTTP_REFERER'];输出的内容并更改了上面的代码以完全匹配它并且它有效,但我认为我遇到的问题是输出$_SERVER['HTTP_REFERER'];不完全相同。例如,如果他们在页面上www.domain.com/page2/index.php,推荐人将是http://www.domain.com/page2/

有没有办法让来自 www.domain.com 的人不管 / 之后是什么?!?

更新:

我尝试了所有前 2 个答案,但无法让它工作(可能是我的错),所以我从他们发送的内容中进行了一些研究并创建了这个:

<?php 
    $mystring = $_SERVER['HTTP_REFERER']; 
    $findme   = 'domain'; 
    $pos = strpos($mystring, $findme);

if ($pos === false) {
    } else {
    echo "content";
 ?>

这个选项有什么问题吗,因为它似乎有效?

4

3 回答 3

2

您可以检查字符串是否以http://www.url.com/

if (strpos($REFERER, "http://www.url.com/") === 0) { 
于 2012-11-30T23:54:30.543 回答
1

一个真正简单的方法是:

if (strpos($REFERER, "www.url.com") !== false) { 
于 2012-11-30T23:53:12.083 回答
0

您可以使用php的parse_url功能:

<?php $REFERER =  parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH);

    if ($REFERER['host'] == "www.url.com") { 
?>
于 2012-11-30T23:56:26.503 回答