是否可以让apache中的目录列表返回json而不是html?
我对Apache完全缺乏经验,但我浏览了IndexOptions和mod_autoindex的文档。似乎没有内置的方法来配置输出。
答案 0 :(得分:7)
我查看了modules/generators/mod_autoindex.c
中apache源代码,HTML生成是静态的。你可以重写它以输出JSON,只需搜索所有ap_rputs
和ap_rvputs
函数调用,并用适当的JSON替换HTML。这似乎是很多工作。
我想我会这样做......
在此站点的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);
答案 1 :(得分:1)
您可以按如下方式使用mod_dir - 创建一个php脚本并按照您的需要列出您的目录(根据需要设置内容类型)。