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

Vasiliy Petrov vipet at tut.by
Wed Jun 10 20:50:20 MSD 2009


Здравствуйте, Roman.

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

Да, нет, скрипты в разных директориях везде выполняются.
Но поробовал на всякий случай
> - location ~ \.php(.*)$ {
> + location ~* ^.+\.php$ {

Ничего не изменилось.


Вы писали Wednesday, June 10, 2009, 4:56:03 PM:

> 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>
>>>> 
>>>> 









-- 
С уважением,
 Vasiliy                          mailto:vipet at tut.by






More information about the nginx-ru mailing list