Как перенаправить пользователя с определенного сайта - PullRequest
0 голосов
/ 04 декабря 2010

Я не эксперт и искал во всем интернете код мета-обновления или 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 ]

2 голосов
/ 04 декабря 2010

Если вы используете PHP на сервере, я бы определенно сделал это на стороне сервера, а не с помощью Javascript.

Добавьте следующее выше что-нибудь еще в ваш файл index.php на site1.com.(Если у вас есть файл 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/');
}
?>

( edit: добавлены теги PHP и пояснения, улучшен код )

2 голосов
/ 04 декабря 2010

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 голос
/ 04 декабря 2010

Вам потребуется использовать document.referrer , чтобы получить местоположение, откуда пришел пользователь. Это не на 100% надежно.

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