想利用Nginx搭建一个下载站,非常简单的利用目录浏览功能实现下载。
修改nginx.conf配置文件:
location / { root d:/xiazai; #指定目录所在路径 autoindex on; #开启目录浏览 autoindex_format html; #以html风格将目录展示在浏览器中 autoindex_exact_size off; #切换为 off 后,以可读的方式显示文件大小,单位为 KB、MB 或者 GB autoindex_localtime on; #以服务器的文件时间作为显示的时间 charset gbk,utf-8; #展示中文文件名,顺序很重要 if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){ add_header Content-Disposition attachment; } }
访问网站,成功。
下载英文的文件名,一切正常。但是访问中文的文件名就报错。
查找日志文件error.log,发现错误提示如下:
No mapping for the Unicode character exists in the target multi-byte code page
通过网络查找了很多资料,还是没有很好的解决办法,难道nginx对于中文真的无解吗?