| Nginx-ru mailing list archive (nginx-ru@sysoev.ru) [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [SPAM]Редирект файл ов на скрипт
 
 
On 09.06.2009, at 18:16, Vasiliy Petrov wrote:
 
Здравствуйте, Nginx-ru
Хочется, чтобы запросы на zip- и rar-файлы, передавались бы php- 
скрипту 
для сбора статистики.
Но когда в браузере пишу http://www.mysite.com/1.zip, то появляется
диалог сохранения файла, файл 1.zip скачивается, но внутри него вместо
данных находится код скрипта!
(Скрипт - это downloads pepper для mint, он
работает много где, т.е. сам скрипт рабочий.
Хомяк: http://pepper.pralinenschachtel.de/ ).
На сервере Ubuntu 9.04 установлен nginx 0.7.5.9/php/php-fpm последние.
Nginx работает один, апача нету.
В конфиге моего сайта следующее:
location ~ \.(zip|rar)$ {
 
-  root /path/to/public_dir/;
 
  if (!-f $request_filename) {
 
а это зачем?
error_page 404 ...;
 -  rewrite ^(.*)$ /path/to/script/downloads/tracker.php?url=http:// 
$http_host/$request_uri break;
+  rewrite ^ http://имя_сайта/path/to/script/downloads/tracker.php? 
url=http://$host$request_uri&force last;
     rewrite  ^(.*)$  download.html redirect;
  }
 
+  rewrite_log on;
это покажет в error_log-е что он там рерайтит
 
}
location ~ \.php(.*)$ {
 
-  root /path/to/public_dir/;
рут зачем везде указывать?
 -  fastcgi_param  SCRIPT_FILENAME /path/to/public_dir 
$fastcgi_script_name;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
   # Нужна ли строка выше для чего-либо? Просто уже всё, что мог  
предположить перепробовал
  include /usr/local/nginx/conf/fastcgi_params;
 
локейшн с пхп лучше поставить в начало конфига
 
}
Подскажите плиз в чем тут дело
P.S. В доке по использованию скрипта есть пример для апача:
<FilesMatch "\.(zip|rar|tar\.gz)$">
 RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ http://site.com/path/downloads/tracker.php?url=http:// 
%{HTTP_HOST}%{REQUEST_URI}&force
</FilesMatch>
 
или ход конём:
в итоге мы имеем задачу запустить такой-то скрипт при вызове такого-то  
ури? тогда: 
location                        ~* \.(zip|rar)$ {
 include include/fastcgi_param;
fastcgi_param SCRIPT_FILENAME		$document_root/path/downloads/ 
tracker.php;
 fastcgi_param QUERY_STRING url=http://$host$request_uri&force;
# fastcgi_index index.php;
# fastcgi_pass_request_body off;
# client_body_in_file_only clean;
 fastcgi_pass php5-cluster;
}
где то так
 
--
С уважением,
Vasiliy Petrov                          mailto:vipet@xxxxxx
 
 
 |