HTTP 500使用FallbackResource和mass vhost配置

Sag*_*ard 4 apache .htaccess configuration httpd.conf

上下文

我有Apache 2.2.15配置为大规模虚拟主机,如下所示:

<VirtualHost *:80>
    # ...irrelevant lines omitted
    VirtualDocumentRoot /srv/www/%-3+
    ServerName example.com
    ServerAlias localhost
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

mkdir /srv/www/foo使得foo.example.com可用.


问题

HTTP 500从所有的foo.example.com一当.htaccess含有一个FallbackResource指令是在虚拟主机文档根.注释掉了FallbackResource删除错误,但我想使用FallbackResource.


东西尝试过

我确认相关模块已加载使用httpd -M | grep dir_module.奇怪的是,我仍然Invalid command 'FallbackResource', perhaps misspelled or defined by a module not included in the server configuration在错误日志中看到.

文件系统尽可能简单.只有一个"Hello,World" index.php和一个.htaccess.是的,权限很好.

/srv/www
    foo
        index.php <- 775, owned by apache
        .htaccess <- 664, owned by apache
Run Code Online (Sandbox Code Playgroud)

我尝试了以下各项.htaccess:

  • FallbackResource index.php
  • FallbackResource /index.php
  • FallbackResource foo/index.php
  • FallbackResource /foo/index.php

<Directory /srv/www/foo>尽管不管怎么说都没有用,但也试过了.

以下评论给出了新的尝试

  • AllowOverride IndexesAllowOverride not allowed here进入<VirtualHost>容器时加注.
  • 确认LoadModule dir_module modules/mod_dir.so是在httpd.conf

我错过了什么愚蠢/明显的东西?

Ben*_*ner 7

该FallbackResource指令并非引入到2.2.16描述这里.升级Apache应该可以解决您的问题.