当nginx为具有autoindex的目录提供服务时,它将列出文件,但是当index.html存在时,浏览器将加载该文件.我希望它忽略它.
server {
listen 80;
server_name herbert;
location / {
root /srv/www;
index index.htm index.html;
add_header Cache-Control no-cache;
expires 300s;
}
location /site-dumps/ {
root /srv/www/;
autoindex on;
}
}
Run Code Online (Sandbox Code Playgroud) 是否有可能让apache中的目录列表返回json而不是html?
我对Apache完全缺乏经验,但我浏览了IndexOptions和mod_autoindex的文档.似乎没有内置的方法来配置输出.
我有一个第三方客户在他们的网站上进行了PCI扫描.报告返回了这个:
Web服务器自动索引已启用
这是什么,禁用它是否安全?有没有人知道禁用它的最安全的方法,以及我如何检查它已被禁用?
我尝试在使用HTMLTable时调整NameWidth但没有成功。
考虑这些设置(# = 注释):
<IfModule mod_autoindex.c>
IndexOptions FancyIndexing
IndexOptions HTMLTable
IndexOptions IconsAreLinks
IndexOptions SuppressDescription
IndexOptions SuppressLastModified
IndexOptions SuppressColumnSorting
#IndexOptions IconWidth=20
#IndexOptions IconHeight=20
IndexOptions NameWidth=*
IndexOrderDefault Descending Name
HeaderName header.html
ReadmeName footer.html
</ifModule>
Run Code Online (Sandbox Code Playgroud)
通过上述设置,浏览器内的目录列表显示“名称”列的宽度几乎不比最长文件名的宽度宽。文件名不会被截断,但最长文件名的右边缘距下一列仅 1 个字符。 我希望使“名称”列比最长的文件名更宽,因此文件名的右侧与右侧的下一列之间有更多的空格分隔。 我可以通过删除或注释掉“IndexOptions HTMLTable”来实现这一点(水平添加额外的空格)。但是禁用“HTMLTable”会导致图标不再与其关联的文件名垂直居中。是的,我希望保留这些图标。更改 IconWidth 和 IconHeight 并不能解决垂直居中问题。我使用 header.html 和 footer.html 添加页面标题和返回链接,但这些文件不会影响目录列表内容。
我该如何解决这个问题?
谢谢。
我想通过 http 共享文件夹内容。我已经安装了带有 autoindex 的 nginx 并将其配置到我的文件夹中。问题是它需要带有文件/文件夹列表的 html 文件,但我想要某种具有相同信息的 xml。
是否可以使用标准 nginx 工具来做到这一点,或者我应该实现一些脚本来解决这个问题?
我有一个简单的Apache2.4和PHP-FPM设置,我正在尝试启用+ Indexes选项,但我得到404"找不到文件".尝试访问没有索引文件的文件夹时,即使启用了autoindex也是如此.
这是我的vhost的一部分:
#php
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/fpm/fatal.sock|fcgi://
#super public directory with Indexes!
<Location /pub>
Options +Indexes
IndexOptions +FancyIndexing
</Location>
Run Code Online (Sandbox Code Playgroud)
当我尝试访问http://domain.com/pub/时,我希望看到我放在那里的文件列表,但我收到错误404 Not Found.
我想知道它来自何处,因为ProxyPassMatch不应转发请求,因为查询中没有.php,所以接下来是目录索引,它查找不存在的index.php(404),但为什么mod_autoindex不起作用?
当我删除ProxyPassMatch行时,autoindex工作正常,我看到列出的文件夹内容.有任何想法吗?