为什么 Apache 忽略我的目录块?

为什么 Apache 忽略我的目录块?

我刚刚将我的项目移到一个新的工作站。我无法让 Apache 安装确认我的.htaccess文件。这是我的/etc/apache2/conf.d/dev配置文件:

<Directory /home/codemonkey/dev/myproject/>
    Options -Indexes
    AllowOverride All

    Order Allow,Deny
    Deny from all
</Directory>

我知道配置文件已被 Apache 包含,因为如果我输入错误的语法它就会抱怨(操作“configtest”失败)。

我的项目可通过目录中的符号链接通过 Apache 访问/var/www。服务器以我的用户和组运行,因此它具有我的权限。我的整个dev文件夹的权限均设置为770递归。

尽管如此,当我访问时,我仍然会得到项目文件夹的索引显示http://localhost/myproject。为什么上述配置不会使无法在浏览器中查看文件夹?

答案1

正如明确记录的那样,符号链接随后是 apache不要将访问责任转移到目标目录。

答案2

因为 apache 将此目录视为/var/www/myproject,而不是/home/codemonkey/dev/myproject/因为它是符号链接。要解决此问题,只需将 放入-Indexesmyproject 目录中的 .htaccess 文件中。

相关内容