是否可以让 apache 中的目录列表返回 json 而不是 html?
我对 Apache 完全没有经验,但我浏览了 IndexOptions 和 mod_autoindex 的文档。似乎没有内置的方式来配置输出。
是否可以让 apache 中的目录列表返回 json 而不是 html?
我对 Apache 完全没有经验,但我浏览了 IndexOptions 和 mod_autoindex 的文档。似乎没有内置的方式来配置输出。
我查看了 apache 源代码中的代码,modules/generators/mod_autoindex.c
HTML 生成是静态的。您可以将其重写为输出 JSON,只需搜索所有ap_rputs
和ap_rvputs
函数调用并将 HTML 替换为适当的 JSON。不过,这似乎需要做很多工作。
我想我会这样做...
在此站点的 Apache 配置中,更改为...
DirectoryIndex ls_json.php index.php index.html
然后将ls_json.php
脚本放入您想要 JSON 编码列表的任何目录中:
// grab the files
$files = scandir(dirname(__FILE__));
// remove "." and ".." (and anything else you might not want)
$output = [];
foreach ($files as $file)
if (!in_array($file, [".", ".."]))
$output[] = $file;
// out we go
header("Content-type: application/json");
echo json_encode($output);
您可以按如下方式使用mod_dir - 创建一个 php 脚本并根据需要列出您的目录(根据需要设置内容类型)。