Nginx 目录浏览功能显示的日期格式设置为数字

在 Nginx 中,默认的目录浏览功能显示的日期格式包含英文月份,若想将其显示为数字月份,需要对 Nginx 的 autoindex 模块输出进行自定义处理。

由于 Nginx 本身没有直接配置将日期格式化为数字月份的选项,所以可以借助 Lua 脚本结合 ngx_http_lua_module 模块来实现这个需求。

步骤如下

  1. 确认 ngx_http_lua_module 模块已安装 首先要保证 Nginx 已经安装了 ngx_http_lua_module 模块。

你可以通过以下命令查看 Nginx 编译时的配置参数:

Lua 复制代码
nginx -V 2>&1 | grep lua

若输出包含 lua 相关信息,说明该模块已安装;

若没有,你需要重新编译 Nginx 并添加 --with-http_lua_module 选项。

使用豆包问:

已经安装的nginx,如何重新编译 Nginx 并添加 --with-http_lua_module 选项。

  1. 创建 Lua 脚本 在合适的目录(例如 /etc/nginx/lua)下创建一个 Lua 脚本,如 format_autoindex.lua,内容如下:
Lua 复制代码
-- 读取原始的 autoindex 输出
local html = ngx.arg[1]
-- 使用正则表达式替换日期格式
html = string.gsub(html, "(%d+)-(%a+)-(%d+)", function(day, month, year)
    local months = {
        Jan = "01", Feb = "02", Mar = "03", Apr = "04",
        May = "05", Jun = "06", Jul = "07", Aug = "08",
        Sep = "09", Oct = "10", Nov = "11", Dec = "12"
    }
    return string.format("%s-%s-%s", year, months[month], day)
end)
-- 输出处理后的 HTML
ngx.arg[1] = html
  1. 修改 Nginx 配置文件 在 Nginx 配置文件里添加对 Lua 脚本的调用,示例如下:
Lua 复制代码
server {
    listen 80;
    server_name your_domain_or_ip;

    location /gp/ {
        autoindex on;
        # 在输出之前执行 Lua 脚本
        header_filter_by_lua_file /etc/nginx/lua/format_autoindex.lua;
    }
}

要把 your_domain_or_ip 替换为实际的域名或者 IP 地址。

  1. 检查并重新加载 Nginx 配置 执行以下命令检查配置文件语法是否正确:
Lua 复制代码
nginx -t

若语法检查通过,重新加载 Nginx 配置:

Lua 复制代码
systemctl reload nginx
相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
还是大剑师兰特3 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
xing-xing3 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅3 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘3 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥3 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发