nginx 匹配.zip .apk 结尾的文件 直接下载

时间:2023-03-08 23:42:10
nginx 匹配.zip .apk 结尾的文件  直接下载
server {
listen 80;
server_name ok.xidd.com;
index index.html index.htm index.php;
root /alidata/www/xidd;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
#------------------------------------#
location / #增加这个匹配规制
{
if ($request_filename ~* ^.*?/.(zip|apk)$)
{
add_header Content-Disposition: 'attachmet;';
}
}
#--------------------------------------#
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
} access_log /alidata/log/nginx/access/mall.log;
}

nginx 匹配.zip .apk 结尾的文件  直接下载

还有一个为题apk如果匹配下载是会被转换成zip格式,下面的配置会解决这个问题:

[root@iZ259jr6xbtZ conf]# pwd
/alidata/server/nginx/conf
[root@iZ259jr6xbtZ conf]# vi mime.types
application/zip zip;
application/vnd.android.package-archive apk;#添加这一条

重新家在配置文件!!

.apk 和 .ipa分别是android应用和ios应用的扩展名。
如果在浏览器下载这些文件为后缀的文件时,会自动重命名为zip文件。
当然可以下载后手动修改后缀,依然可以安装。
如果想下载后缀直接就是apk ipa的,可以修改 /usr/local/nginx/conf目录下的mime.types
增加如下配置,重启nginx生效
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
注意:上面的配置只是在nginx那层好了,但如果你是用nginx+tomcat的方式,在ie下还是会变成zip的
还需要在tomcat里面配置conf/web.xml 里指定了apk类型
<mime-mapping>
<extension>apk</extension>
<mime-type>application/vnd.android.package-archive</mime-type>
</mime-mapping>
注意:重新测试的时候必须关闭ie浏览器 重新启动一个才能生效(关闭tab标签栏的不起作用)