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