Re: [SPAM]Редирект файлов на скрипт

Alexey V. Karagodov kav at karagodov.name
Wed Jun 10 21:29:26 MSD 2009


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  ^(.*)$  download.html redirect;
>   }
>
-  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_log on;
это покажет в error_log-е что он там рерайтит

> }
>
> location ~ \.php(.*)$ {
-  root /path/to/public_dir/;
рут зачем везде указывать?
>   fastcgi_pass   127.0.0.1:9000;
>   fastcgi_index  index.php;
-  fastcgi_param  SCRIPT_FILENAME /path/to/public_dir 
$fastcgi_script_name;
>   # Нужна ли строка выше для чего-либо? Просто уже всё, что мог  
> предположить перепробовал
>
>   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 at tut.by
>
>






More information about the nginx-ru mailing list