希望你们中的一些人可以帮助我。
我是 Apache 的初学者,正在尝试通过在 Ubuntu 上的 VMware 中设置带有 DirectoryListing 和密码验证的服务器来自学其核心元素。
我想要实现的目标: 能够连接到“site1.com”并查看目录列表,例如: https://imgur.com/a/gFhdY
我的问题如下:
我的配置文件 /etc/apache2/sites-available/site1.com.conf 中有以下代码(请原谅我的格式,这是多年来我第一次在这里发帖):
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/site1.com/public_html>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Options Indexes
Index Options FoldersFirst IgnoreCase
</Directory>
</VirtualHost>
密码验证工作正常,但我不确定在哪里我应该放置文件来查看目录列表是否有效,或者目录列表是否不起作用。当我在虚拟机上连接到 site1.com 时,我只看到其中的 index.html 内容/var/www/site1.com/public_html/index.html
,没有看到列出的文件。
由于 DocumentRoot 设置为 /var/www/site1.com/public_html,我假设这是我放置文件的地方。我在这个目录中创建了一个名为 Test4.html 的文件和一个名为 FolderTest 的文件夹以进行测试,但正如我上面所写的,我不确定这些文件的格式是否正确,甚至不知道它们是否在正确的位置。
我尝试在索引前添加一个“+”,以便可以读取,Options +Indexes
但这也不起作用。
我感到非常感激任何能提供的帮助,因为我感觉自己完全陷入了困境,不知道下一步该怎么做。
诚挚问候,维克多
答案1
删除index.html
。仅当索引文件不存在时才显示目录索引。