我们使用不允许目录列表的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代码中的执行错误也是非常有用的工具。