当我尝试通过浏览器访问根目录时,我尝试不列出任何文件,并且没有任何关联的主页。
我要做的是转到apache2.conf
目录中的文件/etc/apache2
并修改此行:
Options Indexes FollowSymLinks
更改为:
Options -Indexes
然后我进入目录/etc/apache2/mods-enabled
并转到dir.conf
我注释以下行的文件:
#DirectoryIndex mainpage.html index.html ...
之后,我重新启动 Apache:
/etc/init.d/apache2 restart
当我尝试在浏览器中访问该 URL localhost:81
(我正在监听端口 81)时,会出现一个包含以下消息的页面:
Forbidden
You don't have permission to access / on this server.
所以我有一些问题:
FollowSymLinks
为什么使用时必须删除-Indexes
?如果我不删除,则在尝试重新启动 Apache 时会出现错误。出现消息是正常的吗
Forbidden
?我认为它应该显示一个空的根目录,而不是禁止消息。
提前致谢!
答案1
FollowSymLinks
为什么使用时必须删除-Indexes
?如果我不删除,则在尝试重新启动 Apache 时会出现错误。
看一下我执行此操作时出现的错误:
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 165 of /etc/apache2/apache2.conf:
Either all Options must start with + or -, or no Option may.
Action 'configtest' failed.
The Apache error log may have more information.
Apache 只是抱怨每个选项行可能只有+
选项或-
选项,不是都。
如果要同时使用两者,则必须将它们分成两行,如下所示:
Options FollowSymLinks
Options -Indexes
至于为什么会这样,可能单独解析每一行会更容易。这就是它的设计方式。
出现消息是正常的吗
Forbidden
?我认为它应该显示一个空的根目录,而不是禁止消息。
需要注意的是,+Indexes
只有在没有DirectoryIndex
声明的情况下才会生效。在此期间,它会显示文件列表(有点像这) 而不是您的index.html
或任何其他内容。通过使用,您告诉 Apache 如果未找到 (或者,未设置并且未找到),-Indexes
则显示禁止错误。DirectoryIndex
index.html