如何覆盖默认的 Apache HTML 目录?

如何覆盖默认的 Apache HTML 目录?

这可能很简单,但这让我很困惑。

我正在运行一个 EC2 实例,该实例在配置后会将 Apache 2.2 安装到框中。我无法访问a2enmod那里,但我需要将其更改AllowOverride None为安装我的应用程序的AllowOverride FileInfo默认目录。/var/www/html

这是配置好的,httpd.conf但我不想必须通过 SSH 进入我的应用程序的每个新实例并手动更改该设置。我有一个构建脚本,它将以下文件复制到/etc/httpd/conf.d/my-app.conf

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride FileInfo
    Order allow,deny
    Allow from all
</Directory>

但这不起作用,我猜是因为httpd.conf加载文件的部分conf.d/*.conf来自/var/www/html定义的部分(AllowOverride因此设置回None)。

我该如何配置它,以便设置我想要的(例如FileInfo)而无需手动编辑该文件?我需要将其编写成脚本。

答案1

为了使您的<Directory>容器及其中的指令生效,它应该位于<VirtualHost>Apache 向您的应用发出请求时匹配的容器中。
尝试重新检查您的配置,并确保您的配置文件使用正确的语法正确设置

相关内容