You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用nginx动态生成指定目录下的README.txt文件?

解决方案

Nginx原生实现(无需额外工具)

Nginx本身原生支持该需求,无需引入JS等额外工具,直接通过配置即可实现动态返回README.txt内容,不需要在磁盘上存储多份重复的README文件。

配置步骤

  1. 首先在Nginx的http配置块中通过map指令定义需要自动生成README.txt的目录列表,方便统一管理:
http {
    # 规则:匹配到对应目录前缀时,$need_generate_readme值为1,否则为0
    map $uri $need_generate_readme {
        ~^/repo/ 1;
        ~^/repo-latest/ 1;
        # 后续新增目录只需要在此处加一行匹配规则即可
        default 0;
    }

    server {
        listen 443 ssl;
        server_name www.some-web.com; # 替换为你的实际域名
        root /your/path/to/www; # 替换为你站点www目录的实际绝对路径

        # 拦截所有README.txt的请求
        location ~ ^/(.*)/README\.txt$ {
            # 不在指定生成列表的目录,走正常静态文件逻辑
            if ($need_generate_readme = 0) {
                try_files $uri =404;
            }
            # 设置返回内容类型为纯文本
            default_type text/plain;
            # 动态拼接返回内容,$1为README.txt所在的目录路径,$host自动取当前域名
            return 200 "This is README.txt. Download the file from https://$host/$1/some-files\n";
        }

        # 你原有其他静态资源的配置保持不变即可
        location / {
            try_files $uri $uri/ =404;
        }
    }
}
  1. 配置修改完成后执行nginx -s reload重载配置即可生效。

方案优势

  • 全局仅需维护一份内容模板,修改后所有目录的README.txt自动同步更新,无需手动修改多份文件
  • 目录列表统一在map块中管理,新增/删除生成目录仅需修改一行配置
  • 完全使用Nginx核心模块功能,无需安装第三方扩展,对新手友好,配置门槛低

可选:本地批量生成实体文件方案

如果你需要在磁盘上真实存储每个目录的README.txt文件,可以使用简单的Shell脚本批量生成:

#!/bin/bash
# 填写需要生成README.txt的目录绝对路径列表
TARGET_DIRS=(
    "/your/path/to/www/repo"
    "/your/path/to/www/repo-latest"
)
# 填写内容模板,{DIR_PATH}为目录路径占位符
README_TEMPLATE="This is README.txt. Download the file from https://www.some-web.com/{DIR_PATH}/some-files"

for dir in "${TARGET_DIRS[@]}"; do
    # 提取相对于www目录的路径
    relative_path=${dir#*/www/}
    # 替换占位符生成最终内容
    final_content=${README_TEMPLATE//\{DIR_PATH\}/$relative_path}
    # 写入文件
    echo "$final_content" > "${dir}/README.txt"
done

每次需要更新内容时,修改模板后执行一次脚本即可完成全量更新。

内容的提问来源于stack exchange,提问作者Payne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 22:00:02