nginx重写下载文件

时间:2017-08-15 14:19:16

标签: nginx

有了这个配置

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_buffers 1024 1024k; fastcgi_buffer_size 1024k;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
    location ~ ^/(download)/{
        rewrite ^/([a-zA-Z0-9-_.\/%20\w\s]+)+$ /dl.php?path=$1 break;
    }

这应该触发下载并将一些统计信息放入数据库。 几个字节后,所有文件都被切断。 如果我直接触发

    https://portal.stack.io/dl.php?path=/files/teams/one/cat/database.dump
一切正常。 如何将重写配置为有效?

更新 现在检查下载文件的内容。 这是php脚本应该服务文件而不是zip文件。

1 个答案:

答案 0 :(得分:0)

通过像这样更改nginx服务器conf来解决问题

location ~ ^/(download)/{
    rewrite ^([a-zA-Z0-9-_.\/%20\w\s]+)+$ /dl.php?path=$1;
}

现在可行了