Apache перезаписывает секунду, чтобы предотвратить бесконечный цикл


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

У меня есть 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, НО это создает бесконечный цикл, как это очевидно. Что мне нужно, так это переписать секунду так, чтобы если http_refferer или имя скрипта содержит имя "счетчик", КОТОРОЕ НЕ перенаправляет на counter.php .

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

Author: anubhava, 2015-05-10

1 answers

Мне нужна секунда перезаписи, чтобы, если http_refferer или имя скрипта содержат имя "счетчик", НЕ перенаправлялось на counter.php .

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

RewriteCond %{HTTP_REFERER} !counter [NC]
RewriteCond %{REQUEST_URI} !counter [NC]
RewriteRule ^.+?\.mp3$ media/counter\.php [L,NC]
 1
Author: anubhava, 2015-05-10 17:06:40