突破Nginx中文PDF预览瓶颈:Nginx配置文件与Script脚本解法

作者头像
首页 建站技术 正文
广告

image.png

问题背景:常规方案的局限性

在搭建PDF文档中心时,我们常依赖Nginx的目录索引(autoindex on)和字符集配置(charset utf-8)实现文件预览。但当遇到中文命名的PDF文件时,常规配置往往陷入​三大困局​:

  1. 乱码陷阱​:浏览器显示文件名乱码,即使配置charset也无法根治编码兼容问题;
  2. 路径解析失效​:URL自动编码(如%E6%96%87)导致Nginx无法正确映射物理路径;
  3. 跨平台差异​:Windows/Linux文件系统编码差异加剧兼容复杂度。

破局思路:Script脚本与Nginx的协同作战

最终配置文件如下:

  1. location /pdf目录/ {
  2. alias "站点目录";
  3. autoindex on;
  4. autoindex_localtime on;
  5. autoindex_exact_size off;
  6. try_files $uri $uri/ =404;
  7. add_after_body /autoindex_js.html;
  8. }
  9. location = /autoindex_js.html {
  10. internal;
  11. return 200 '<script>
  12. document.addEventListener("DOMContentLoaded", function() {
  13. var links = document.querySelectorAll("a");
  14. links.forEach(function(link) {
  15. var href = link.textContent;
  16. link.setAttribute("href", href);
  17. link.setAttribute("target", "_blank");
  18. link.textContent = decodeURIComponent(link.textContent);
  19. });
  20. });
  21. </script>';
  22. }

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除!
WordPress当搜索结果为零时,跳转到首页
« 上一篇 05-31
知名黑客组织付费传播恶意软件,第三方安装服务盛行
下一篇 » 05-31

个人信息

HI ! 请登录
注册,享受下载全站资源特权。
百度一下

随便看看

大家都在看

标签TAG