鍍金池/ 問(wèn)答/Linux/ nginx靜態(tài)服務(wù)器下載zip提示404

nginx靜態(tài)服務(wù)器下載zip提示404

1.nginx搭建了一個(gè)靜態(tài)文件服務(wù)器,用來(lái)放置webpack打包的文件。但是靜態(tài)目錄static下的zip每次下載都提示404,其他類(lèi)型的像.json .md文件都可以正常下載的。

2.nginx靜態(tài)服務(wù)器主要配置如下

server {
        listen 80;
        server_name  xxx.xx.com;

        location / {
            root   /home/www;
            index  index.html index.htm;
            if ($request_filename ~* ^.*?/.(zip|apk)$) {
                add_header Content-Disposition: 'attachment;';
            }
        }
}

3.nginx日志如下:

[05/Jun/2018:06:54:49 +0000] "GET /static/test/data.zip HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"

4.圖片描述

回答
編輯回答
糖豆豆

你這里有兩個(gè)問(wèn)題:

  1. add_header指令多了一個(gè)冒號(hào):
  2. 沒(méi)必要用if指令,用location更好

所以

            if ($request_filename ~* ^.*?/.(zip|apk)$) {
                add_header Content-Disposition: 'attachmet;';
            }

改為

            location ~* \.(zip|apk)$ {
                add_header Content-Disposition 'attachmet;';
            }
2018年3月5日 10:29