如何重定向来自某个站点的用户

时间:2010-12-04 02:28:39

标签: javascript redirect refresh meta-tags

我不是专家,并且在互联网上寻找元刷新代码或javascript并不重要。我想重定向例如:

Site1重定向到Site2,但仅当有人来自url = youtube.com时,如果他们不是来自youtube.com,他们应该留在Site1。

也许是那样的

<SCRIPT LANGUAGE="JavaScript">
if(user come from = "youtube.com"){
    window.location = 'http://Site2.com';
} else {
    window.location = 'http://Site1.com';
}
</SCRIPT>

3 个答案:

答案 0 :(得分:2)

document.referrern将完成这项工作:https://developer.mozilla.org/en/document.referrer

所以在你的例子中它将是(它是if / esle的简短版本):

document.referrer=="www.youtube.com"?window.location = 'http://Site2.com':window.location = 'http://Site1.com'

或者如果你想完全写它,它会(注意“==”比较值):

if(document.referrer=="www.youtube.com"){
  window.location = 'http://Site2.com'
}else{
  window.location = 'http://Site1.com'
}

答案 1 :(得分:2)

如果您在服务器上运行PHP,我绝对会使用服务器端而不是Javascript。

在site1.com的index.php文件中添加以下内容。 (如果您有index.html文件,只需将其重命名为index.php。)

<?php 
//add any referrers that should be redirected to the array
$refs = array('http://youtube.com','http://another-domain.com');

foreach($refs as $r) {
   if(preg_match('/'.$r.'/', $_SERVER['HTTP_REFERER']))
     header('Location: http://site2.com/');
}
?>

编辑:添加了PHP标签和解释,改进了代码

答案 2 :(得分:1)

您需要使用document.referrer来获取用户来自的位置。它不是100%可靠。

var ref = document.referrer; 
if(ref && ref.toLowerCase().indexOf("youtube.com")!==-1){
    window.location.href="site2.html";
}