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