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

Roman sirotar at mail.ru
Wed Jun 10 17:56:03 MSD 2009


Hello Vasiliy,

Wednesday, June 10, 2009, 3:26:39 PM, you wrote:

VP> Здравствуйте, Alex

VP> C last уже пробовал (и сейчас еще раз попробовал) -
VP> получается Redirect Loop

VP> Вы писали Wednesday, June 10, 2009, 2:25:55 PM:

>> 09.06.2009 17:16, Vasiliy Petrov wrote:
>>> Здравствуйте, Nginx-ru
>>> 
>>> Хочется, чтобы запросы на zip- и rar-файлы, передавались бы php-скрипту
>>> для сбора статистики.
>>> 
>>> Но когда в браузере пишу http://www.mysite.com/1.zip, то появляется
>>> диалог сохранения файла, файл 1.zip скачивается, но внутри него вместо
>>> данных находится код скрипта!

резкну предположить, что ваш скрпит не проходит через обработку самим
php и в итоге nginx отдает его как текстовый файл.

>>> 
>>> (Скрипт - это 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) {
>>>       rewrite  ^(.*)$  download.html redirect;
>>>    }
>>> 
>>>    rewrite ^(.*)$ /path/to/script/downloads/tracker.php?url=http://$http_host/$request_uri break;

>> - rewrite ^(.*)$
>> /path/to/script/downloads/tracker.php?url=http://$http_host/$request_uri
>> break;
>> + rewrite ^(.*)$
>> /path/to/script/downloads/tracker.php?url=http://$http_host/$request_uri
>> last;

>>> }
>>> 
>>> location ~ \.php(.*)$ {

попробуйте
- location ~ \.php(.*)$ {
+ location ~* ^.+\.php$ {


>>>    root /path/to/public_dir/;
>>>    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>
>>> 
>>> 






-- 
Best regards,
 Roman                            mailto:sirotar at mail.ru






More information about the nginx-ru mailing list