在 Apache2.2 中启用目录列表

在 Apache2.2 中启用目录列表

我搜索了好多地方,但还是无法找出是什么搞乱了我的配置。我正在 Arch x86_64 上运行,希望这对任何人有帮助。

简洁版本

我启用了选项索引,重新启动了 Apache,当我尝试获取文件夹的目录列表时,返回了 404 页面未找到。禁用 dir_module 没有帮助,而且我不想使用 user_dirs 模块。如果我输入完整路径,文件就会呈现(.log 文件)。

细节

Apache 运行良好(我的其他目录也运行正常)。当我尝试共享一个目录,希望通过自动索引列出其内容时,我得到了 404 页面未找到。Apache 的日志仅显示缓存未命中和 404 尝试命中下面定义的别名。我的主要 httpd.conf 有:

LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
...
<Directory "/srv/http">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

<IfModule dir_module>
   DirectoryIndex index.html index.php
</IfModule>
...
Include conf/extra/httpd-test-dir.conf

在 http-test-dir.conf 中我有:

Alias /test_dir /home/user/dir
<Directory "/home/user/dir">
   AllowOverride All
   Options Indexes FollowSymLinks MultiViews
   IndexOptions FancyIndexing
   Order allow,deny
   Allow from all
</Directory>

我尝试注释掉 dir_module 行并重新启动 apache,但没有成功。我可以通过以下方式手动获取 /home/user/dir/ 中的文件:

http://hostname/test_dir/2012-04-06/result.log

不幸的是文件夹路径发生了变化,所以我无法对它们进行硬编码,而且我不想使用 user_dirs 模块。我检查了权限,从 / 到 /home/user/dir/ 的所有文件/文件夹都是

drwxr-xr-x

任何帮助都将不胜感激。谢谢。

答案1

弄清楚了!!!

原来是 Passenger 模块在运行(针对我的其他网站之一)。我必须按如下方式修改 http-test-dir.conf:

Alias /test_dir /home/user/dir
<Directory "/home/user/dir">
   AllowOverrid All
   Options Indexes FollowSymLinks MultiViews
   IndexOptions FanciyIndexing
   PassengerEnabled off  <------Added this line
   Order allow,deny
   Allow from all
</Directory>

希望这能帮助其他运行 Rails 应用程序的人。就我而言,它是 GitLab。

相关内容