我怎样才能创build一个简单的index.html文件列出所有的文件/目录?

我们使用不允许目录列表的apache服务器。

有一个特定的目录,我想允许列出。

怎样才能使一个简单的HTML文件包含这个目录的内容?

你可以:写一个像PHP,JSP,ASP.net等服务器端脚本页面来动态生成这个HTML

要么

设置你正在使用的网络服务器(例如Apache)自动为不包含欢迎页面的目录(例如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

对我来说,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); ?> 

将其放置在您的目录中,并设置您希望在$路径上搜索的位置。 第一个if语句将隐藏你的php文件和.htaccess以及错误日志。 然后它将显示一个链接的输出。 这是非常简单的代码,易于编辑。

这不能用纯HTML完成。

但是,如果您有权访问Apache服务器上的PHP(标记为“apache”),则可以轻松完成PHP glob功能 。 如果没有 – 你可以尝试服务器端包含 – 这是一个Apache的东西,我不太了解它。

在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 

只包含匹配glob模式的特定文件类型,例如*.zip文件:

 tree -H '.' -L 1 --noreport --charset utf-8 -P "*.zip" > index.html 

-H的参数是什么将被用作基础href,所以你可以传递一个相对路径如. 或从Web根目录的绝对路径,如/files -L 1仅将列表限制在当前目录中。

我需要一个索引生成器,可以按照我想要的方式进行设计,所以我使用了这个脚本 。

你有没有尝试通过.htaccess允许这个目录?

 Options +Indexes 

我使用这个我的供应商禁用目录列表的一些目录

要知道HTML是非常重要的,因为我们可以根据我们的需要创建自己的网站。 您可以创建一个简单的index.html文件DirectoryIndex index.html DirectoryIndex index.php

单一指令

 DirectoryIndex index.html index.php 

在这里查看一个简单的方法来学习在HTML美化HTML工具,它可以帮助您美化或格式化不整齐,不清楚的HTML代码清楚地阅读它的HTML。 此外,它有助于在给定的空间中练习更多的编码。 如果您在修改时犯了错误,将会以正确的格式纠正您的错误。 对于开发人员来说,找到并纠正嵌套的html代码中的执行错误也是非常有用的工具。