2015-05-10 1 views
2

Я использую Google Analytics для своего сайта, он отлично работает со страницами, проблема в том, что файлы MP3, которые я хочу попасть в счетчик, когда к ним обращаются напрямую.Apache RewriteCond для предотвращения бесконечного цикла

У меня есть файл PHP следующим образом:

<?php 

error_log("hiiiiiiiii--".$_SERVER['REQUEST_URI']); // for testing 
error_log("meeeeeeeee--".$_SERVER["HTTP_REFERER"]); // for testing 
//header("location:".$_SERVER['REQUEST_URI']); 

?> 

<html> 
    <body> 
     <script> 
      //GA code goes here 
      window.location = ("<?php echo $_SERVER['REQUEST_URI']; ?>"); 
     </script> 
    </body> 
</html> 

и в моей .htaccess в корневой папке аудиофайлов:

#RewriteCond %{SCRIPT_NAME} !(counter) #Here is the problem 
RewriteRule ^(.*)\.mp3$ /media/counter\.php [L] 

запрос перенаправляет к counter.php и переадресовывает к файлу .mp3, НО это делает бесконечный цикл, как это очевидно. Что мне нужно - это RewriteCond, что если http_refferer или имя_источника содержит имя «счетчик», он не перенаправляется на counter.php.

Спасибо за любую помощь

ответ

1

Что мне нужно, это RewriteCond, что если http_refferer или script_name содержит имя «счетчик» НЕ перенаправлять counter.php.

Попробуйте это правило:

RewriteCond %{HTTP_REFERER} !counter [NC] 
RewriteCond %{REQUEST_URI} !counter [NC] 
RewriteRule ^.+?\.mp3$ media/counter\.php [L,NC] 
+1

Спасибо братан :) Еще одна вещь, я добавил 'RewriteCond% {HTTP_REFERER} mp3 [NC]', потому что, когда еще я получил бесконечный цикл, и когда я! проверил журнал, реферер был mp3-файлом! это было странно, но я решил это с добавлением этой строки. – Mohammad

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