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標簽欄的不起作用)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM