刚接到一公司客户发来的QQ信息,说想放些办公文本资料在服务器上面供自己的客户下载,但放上去了,点击下载,直接就在浏览器中把文件打开了,我问他都是些什么后缀的文件想让客户下载的,他告诉我有doc,xls和pdf的文档,我问他还需要支持别的后缀文档在服务器上面下载吗,如果有,一起发给我,我上服务器上面给你配置一下,对方过了会给我发来信息说没有了,就这几个后缀吧。
其实我们的nginx服务端,想让一些后缀如doc,xls,pdf以附件的形式在点击网页上面的下载按钮后,弹出另存为,也就是下载保存的提示窗口的配置非常的简单,只需要在server配置项中加入个if语句,对于doc,xls,pdf这些后缀文件在他们的header头添加Content-Disposition: ‘attachment;’;的信息便可以让文件支持直接下载了,看下面的配置代码;
server {
listen 80;
server_name thinkphp.qzze.com;
root wwwroot/thinkphp/public;
index index.php index.html index.htm;
#加入这个if语句,判断如果是这几个后缀的文件,则在headers后上添加以下信息,这样用户访问浏览器就可以直接下载了。
if ($request_filename ~* ^.*?\.(doc|xls|pdf)$){
add_header Content-Disposition: 'attachment;';
}
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
最后重新加载nginx配置,就支持以上后缀文件的下载了,一定不要忘记重新加载nginx的配置,否则新加的配置参数是不会生效的。
最新评论
感谢
能不能屏蔽掉刷流量的,统计工具显示全部都是
路过学习了
好像不太行啊 加载不出来啊
好文章
是否可以 实现 判断手机端跳转 而网址不变呢
你好
感谢分享,我也遇到这个了,根据你的提示,屏蔽掉了