Про правильные редиректы
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. Как тяжко иметь много сайтов, везде менять запаришся
Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.
Related:
April 24th, 2009 at 6:57 Arsen(Quote)
А сам clipdiary.php можно заполучить?
April 24th, 2009 at 8:19 Begemot(Quote)
Кроме тех 4 строчек которые есть в посте, там просто 1 запрос к базе данных, увеличение счетчика – ничего интересного
April 25th, 2009 at 5:03 Niko(Quote)
неправильная организация процесса или неправильная интерпретация ДМ.. кстати, они же связались с тобой – какой результат?
April 26th, 2009 at 1:25 Begemot(Quote)
лучше переписать нормально..
April 26th, 2009 at 4:22 Niko(Quote)
это не то что бы “Нормально”, это как у других
June 27th, 2009 at 11:52 Maxim(Quote)
У описанного метода есть следующие недостатки:
1. Счетчик срабатывает даже если файл не был докачан до конца.
2. Файл можно скачать непосредственно в обход скрипта.
Как их обойти сам не знаю.
July 1st, 2009 at 5:06 Begemot(Quote)
Цели посчитать все идеально – нету, так примерно прикинуть сколько качают, увидить всплески…