2012-06-13 2 views
0

Следующий сценарий находится в заголовке моего веб-сайта. Я хочу использовать Google Analytics для отслеживания объема трафика, который указанный веб-сайт отправляет на веб-сайт, на который я езжу. Сценарий перенаправляет пользователей с моего сайта на веб-сайт, на который я направляю трафик. Я тестировал сценарий и не перенаправлял его. Я добавил ссылку на свой сайт на другом веб-сайте, где я должен протестировать скрипт, но я не перенаправлялся на веб-сайт, на котором я пытаюсь привлечь трафик. Есть идеи?HTTP_REFERER перенаправляет php-код, не работает?

<?php 
$ref = $_SERVER["HTTP_REFERER"]; 
if ($ref != 'http://www.websitetrafficiscomingfrom.com') 
exit; 
?> 

<?php if ($ref == 'http://www.websitetrafficiscomingfrom.com') { ?> 

<script type="text/javascript"> 

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-32605120-1']); 
_gaq.push(['_trackPageview']); 

(function() { 
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
})(); 

</script> 

<!-- <?php } else if ($_SERVER['HTTP_REFERER'] != "") { ?> 

<script type="text/javascript"> 
var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-32554427-2']); 
    _gaq.push(['_trackPageview']); 

(function() { 
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
})(); 

</script> --> 

<meta http-equiv='REFRESH" content='0;url=websitetrafficissupposedtogoto.com'> 

<?php } ?> 
+2

«Любые идеи» --- нанять разработчика. SO не является бесплатным debug-my-scripts-потому что я слишком ленивый инструмент – zerkms

+1

Что вы здесь делаете? Это выглядит как-то теневым – sczizzo

+1

$ _SERVER ["HTTP_REFERER"], очень ненадежно. –

ответ

1

Для начала, реферер всегда будет либо пустым, либо полный URL (в том числе задней /, если это необходимо). Поэтому он НИКОГДА не будет той ценности, которую вы просите. Следовательно, вы ВСЕГДА умрете и получите пустую страницу, которая ничего не сделает.

Помимо этого, мне действительно нужно задаться вопросом, что вы делаете. Ваш вопрос, похоже, не имеет никакого смысла по сравнению с кодом, который сопровождает его, и какой код там кажется излишним. Я имею в виду, вы проверяете, a != b, если это произойдет. В противном случае проверьте, есть ли a == b, как будто есть шанс, что это может внезапно оказаться недействительным. Хуже того, у вас есть комментарий else, показывающий, что в какой-то момент вы явно намерены еще раз проверить, есть ли a != b, даже если ваш код уже умер, если это так ...

Я бы предложил полностью удалив этот код. Не полезно или надежно использовать HTTP_REFERER, единственное, что я буду использовать для этого, - это слабый барьер для блокирования большинства попыток hotlinking. Даже тогда, только с осторожностью.

+0

Так что лучший способ сделать это? Я хочу запустить сценарий, который будет отслеживать трафик, поступающий с определенного веб-сайта, на веб-сайт, на который я пытаюсь привлечь трафик. Я пытаюсь привлечь трафик на страницу продукта iTunes, но iTunes не дает вам возможность использовать Google Analytics на странице вашего приложения. Так что мне нужен скрипт, который делает 2 вещи: 1. Мониторинг и отфильтровывание трафика, поступающего с указанного веб-сайта, который связывается с сайтом, на который я направляю трафик. 2. Использует Google Analytics для отслеживания трафика после его фильтрации. – user1114968

Смежные вопросы