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

Javascript 如何重定向来自某个站点的用户,javascript,redirect,refresh,meta-tags,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 {

我不是专家,在互联网上到处寻找元刷新代码或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>

document.referrern将执行以下操作:

因此,在您的示例中,它是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'
}

如果您在服务器上运行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标记和解释,改进了代码,您需要使用它来获取用户的来源。它不是100%可靠的

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

海报需要的是推荐人,而不是当前的url。