ccp*_*zza 39
有足够的正当理由在apache或其他Web服务器中显式禁用自动目录索引.或者,例如,您可能希望仅在索引中包含某些文件类型.在这种情况下,您可能仍希望为特定文件夹提供静态生成的index.html文件.
这可以通过树轻松实现- 这是一种在大多数Linux发行版(例如ubuntu/debian :)上可用的简约实用程序,sudo apt install tree其中包括生成XML,JSON或HTML输出.
生成一级深度的HTML目录索引:
tree -H '.' -L 1 --noreport --charset utf-8 > index.html
Run Code Online (Sandbox Code Playgroud)
仅包含与glob模式匹配的特定文件类型,例如*.zip文件:
tree -H '.' -L 1 --noreport --charset utf-8 -P "*.zip" > index.html
Run Code Online (Sandbox Code Playgroud)
参数to
-H将用作基本href,因此您可以传递相对路径,例如.来自Web根目录的绝对路径,例如/files.-L 1仅将列表限制为当前目录.
我想索引生成器,我可以风格我想要的方式,所以结束了使用这个脚本 -除了具有自定义样式,脚本也将递归生成index.html所有嵌套子目录文件.
ryr*_*yan 27
对我来说PHP是最简单的方法:
<?php
echo "Here are our files";
$path = ".";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
if($file != "." && $file != ".." && $file != "index.php" && $file != ".htaccess" && $file != "error_log" && $file != "cgi-bin") {
echo "<a href='$path/$file'>$file</a><br /><br />";
$i++;
}
}
closedir($dh);
?>
Run Code Online (Sandbox Code Playgroud)
将其放在您的目录中,并设置您希望它在$ path上搜索的位置.第一个if语句将隐藏您的php文件和.htaccess以及错误日志.然后它将显示带有链接的输出.这是非常简单的代码,易于编辑.
小智 7
您是否尝试通过 .htaccess 允许该目录访问?
Options +Indexes
Run Code Online (Sandbox Code Playgroud)
我将其用于我的某些目录,其中目录列表被我的提供商禁用
您可以:编写服务器端脚本页面,如PHP,JSP,ASP.net等,以动态生成此HTML
要么
设置您正在使用的Web服务器(例如Apache),以便为不包含welcome-page的目录(例如index.html)自动执行此操作
特别是在apache中,请阅读更多内容:编辑httpd.conf:http://justlinux.com/forum/showthread.php?s =& postid = 502789#post502789
或添加autoindex mod:http: //httpd.apache.org/docs/current/mod/mod_autoindex.html
有一个由 Celeron Dude 制作的免费 php 脚本可以做到这一点,称为 Celeron Dude Indexer 2。它不需要.htaccess源代码很容易理解并提供了一个很好的起点。
这是一个下载链接:https : //gitlab.com/desbest/celeron-dude-indexer/
