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; }
还有一个为题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标签栏的不起作用)
联系方式QQ:326528263 EMAIL:clnking@163.com 网名:bass 分享技术 突破难点 创新思维