Feramount
Новичок
Пишу модуль сбора статистики скачанных файлов и использованеим htaccess.
В сам htaccess прописал
Сам файл выглядит так:
При попытке скачать существующий файл, редирект не происходит, но файл качается успешно.
При попытке скачать несуществующий файл, скрипт редиректит на download.php но скачать несущестуующий файл он не может.
Пока искал проблему в других местах наткнулся на такое выражение:
В сам htaccess прописал
Код:
RewriteRule ^(.*).(zip|pdf|rar)$ /core/download.php?file=$1.$2 [L]
PHP:
// подключаем общий файл со всеми подключениями
include $_SERVER['DOCUMENT_ROOT']."/core/inc.php";
//устанавливаем связь с базой данных
$filename = mysql_real_escape_string($_GET['file']);
$path = $_SERVER['DOCUMENT_ROOT']."/";
//путь к файлу
$fullPath = $path.$filename;
if ($fd = fopen($fullPath, "r"))
{
добавление статистики скачиваний
$result = mysql_query('INSERT INTO Cardinal_Download (File, Date)VALUES("'.$filename.'", "'.date('Y-m-d').'")');
следующая часть выводит файл
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
header("Content-type: application/octet-stream");
header("Content-Disposition: filename=".$path_parts['basename']."");
header("Content-length: $fsize");
header("Cache-control: private");
используется для прямого открытия файла
while(!feof($fd))
{
$buffer = fread($fd, 2048);
echo $buffer;
}
fclose ($fd);
}
exit;
При попытке скачать несуществующий файл, скрипт редиректит на download.php но скачать несущестуующий файл он не может.
Пока искал проблему в других местах наткнулся на такое выражение:
Так собственно говоря, вот какой вопрос: можно ли отменить этот приоритет, или как поступить по другому?Помните, что файлы на сервере всегда будут иметь приоритет над URL’ом. Тоесть есть у вас есть каталог about, вы не сможете перенаправить пользователя на http://yourdomain.com/about. Чтобы исправить это, просто переименуйте соответствующий каталог.