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 ^(.*)$ 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@xxxxxx
|