Openbsd

nginx:目錄列表中的長文件名

  • November 19, 2019

將 nginx/1.4.1 與 OpenBSD 5.4、64 位一起使用:

在此處輸入圖像描述

使用目錄列表時,我們如何設置 nginx 以顯示完整的文件名(或者至少從文件名中顯示更多而不是預設值)?

Google搜尋只給了我這個:

http://forum.nginx.org/read.php?2,124400,167420#msg-167420
January 18, 2011 08:36PM
fagtron
I looked all over the net and wasn't able to find this answer anyway, so I looked into the nginx source files and it's very easy.

Simply modify the file located at [b]src/http/modules/ngx_http_autoindex_module.c[/b] and then compile.

Change these lines:

[b]#define NGX_HTTP_AUTOINDEX_PREALLOCATE 50

#define NGX_HTTP_AUTOINDEX_NAME_LEN 50[/b]

to whatever you want, such as:

[b]#define NGX_HTTP_AUTOINDEX_PREALLOCATE 100

#define NGX_HTTP_AUTOINDEX_NAME_LEN 100[/b]

And then compile and restart nginx. That's it !!!

問題:沒有其他方法可以重新編譯它嗎?

根據ngx_http_autoindex_module文件,自動索引頁面的列寬配置不可用。從原始碼編譯將是進行此更改的唯一方法。

一種替代方法是使用腳本語言(例如phprubypython)為您執行目錄列表。

好處包括:

  • 通過 CSS、JavaScript 等完全可定制
  • 精細控製文件列表

注意事項:

  • 需要CGI例如php-fpmpassenger
  • 需要更多配置

您可以嘗試使用 fancyindex 模組及其 fancyindex_name_length 參數來配置文件名長度。

引用自:https://unix.stackexchange.com/questions/145587