问题背景:常规方案的局限性
在搭建PDF文档中心时,我们常依赖Nginx的目录索引(autoindex on)和字符集配置(charset utf-8)实现文件预览。但当遇到中文命名的PDF文件时,常规配置往往陷入三大困局:
- 乱码陷阱:浏览器显示文件名乱码,即使配置
charset也无法根治编码兼容问题; - 路径解析失效:URL自动编码(如
%E6%96%87)导致Nginx无法正确映射物理路径; - 跨平台差异:Windows/Linux文件系统编码差异加剧兼容复杂度。
破局思路:Script脚本与Nginx的协同作战
最终配置文件如下:
- location /pdf目录/ {
- alias "站点目录";
- autoindex on;
- autoindex_localtime on;
- autoindex_exact_size off;
- try_files $uri $uri/ =404;
- add_after_body /autoindex_js.html;
- }
- location = /autoindex_js.html {
- internal;
- return 200 '<script>
- document.addEventListener("DOMContentLoaded", function() {
- var links = document.querySelectorAll("a");
- links.forEach(function(link) {
- var href = link.textContent;
- link.setAttribute("href", href);
- link.setAttribute("target", "_blank");
- link.textContent = decodeURIComponent(link.textContent);
- });
- });
- </script>';
- }
本站资源仅供学习交流使用请勿商业运营,严禁使用模板&源码从事违法,侵权等非法活动!如链接失效内容有误,请到评论反馈。
免费声明
- 本网站的文章内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:304906607进行删除处理。
- 文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)。
- 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 本站永久网址:https://www.aybk.cn
WordPress当搜索结果为零时,跳转到首页
« 上一篇
05-31
知名黑客组织付费传播恶意软件,第三方安装服务盛行
下一篇 »
05-31

发表评论
请先登录后才能发表评论