Про правильные редиректы
April 23rd, 2009 Begemot Posted in Шаровароварение
Пытаюсь считать закачки дистрибутива на сайте, механизм просто – ссылка ведет на http://clipdiary.com/download/clipdiarysetup.exe
в .htaccess мы его редирестим на наш скрипт
RedirectTemp /download/clipdiarysetup.exe _http://clipdiary.com/download/clipdiary.php
clipdiary.php в свою очередь, после увеличения счетчика, выдает уже сам ехе файл
$Name[http://clipdiary.com/download/clipdiary_2.1.exe]
$response:location[$Name]
$response:content-type[application/downloads]
$response:content-disposition[attachment^;filename=$Name]
(это парсер, не php)
Механизм используется годами. Раньше вроде было все ок, потом я заметил, что если качать Download Master‘om то выдается ошибка “вместо файла выдается html страница и скачать файл невозможно”, но решил что трабла у меня (странный я, да?). А поскольку качаю я обычно броузером то ошибка глаза не мозолила, но потом пожаловался пользователь…
Вообщем проблема решилась благодаря коллективному разуму swrus’a и особенно Александру. В кратце, что нужно сделать
1. Перейти на использование mod_rewrite, для этого заменить
RedirectTemp /download/clipdiarysetup.exe _ttp://clipdiary.com/download/clipdiary.php
на (в файле /download/.htaccess)
Options +FollowSymlinks
RewriteEngine onRewriteRule clipdiarysetup.exe clipdiary.php [QSA]
2. Перестать выдавать content-type и content-disposition, response:location – вполне достаточно
Теперь все работает как часы.
p.s. Как тяжко иметь много сайтов, везде менять запаришся 🙁
April 24th, 2009 at 6:57
А сам clipdiary.php можно заполучить? 🙂
April 24th, 2009 at 8:19
Кроме тех 4 строчек которые есть в посте, там просто 1 запрос к базе данных, увеличение счетчика – ничего интересного
April 25th, 2009 at 5:03
неправильная организация процесса или неправильная интерпретация ДМ.. кстати, они же связались с тобой – какой результат?
April 26th, 2009 at 1:25
лучше переписать нормально..
April 26th, 2009 at 4:22
это не то что бы “Нормально”, это как у других 😉
June 27th, 2009 at 11:52
У описанного метода есть следующие недостатки:
1. Счетчик срабатывает даже если файл не был докачан до конца.
2. Файл можно скачать непосредственно в обход скрипта.
Как их обойти сам не знаю.
July 1st, 2009 at 5:06
Цели посчитать все идеально – нету, так примерно прикинуть сколько качают, увидить всплески…