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

我只是把我的项目移到一个新的工作站。 我无法让我的Apache安装来确认我的.htaccess文件。 这是我的/etc/apache2/conf.d/devconfiguration文件:

 <Directory /home/codemonkey/dev/myproject/> Options -Indexes AllowOverride All Order Allow,Deny Deny from all </Directory> 

我知道configuration文件被包含在Apache中,因为它会抱怨,如果我把错误的语法(操作'configtest'失败)。

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

尽pipe如此,当我访问http://localhost/myproject时,我还是得到了我的项目文件夹的索引显示。 为什么上面的configuration不能在浏览器中查看文件夹呢?

如清楚地表明的那样,遵循Apache的符号链接不会将访问责任转移到目标目录。

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