无法启用包含 | apache2

无法启用包含 | apache2

includes我正在尝试通过 Apache2 在特定 URI 上启用,但是我得到了an error occurred while processing this directive

在此处输入图片描述

我的/magic/index.htmlURI 位于/var/www/html/magic/index.html

在此处输入图片描述

...,该includes文件夹位于/var/www/html/magic/includes

在此处输入图片描述

...我的会议在/etc/apache2/sites-enabled/magic.conf

在此处输入图片描述

foo.html并且bar.html只包含一串文本,如this is the foo include。我也尝试用标签包围字符串<p>,但得到了同样的错误。

在此处输入图片描述

virtual我尝试了HTML 文件标签上的多个路径选项,并将includes文件夹移动到/var/www/html/,但总是出现相同的错误。不过,我愿意尝试你们建议的任何可能性。

非常感谢您的帮助!

编辑:

当将 更改为 时Location/var/www/html/magic包含的内容无法被识别:

在此处输入图片描述

1. 在此处输入图片描述

2. 在此处输入图片描述

答案1

查看您的配置和文件的图像,您可能需要检查以下几件事:

  1. 是否mod_includes已为 Apache 启用?
    sudo a2enmod includes
    
    笔记:之后请务必重新启动/重新加载 Apache:sudo service apache2 restart
  2. Apache 是否可以正确读取要包含的文件?
    sudo chown -R www-data:www-data /var/www/html/magic
    
  3. 您是否已在虚拟主机配置文件中 配置AddType了?AddOutputFilter
    <Directory /var/www/concept>
        Options +Includes
    
        ...
    
        AddType text/html .html
        AddOutputFilter INCLUDES .html
    </Directory>
    
    笔记:之后请务必重新启动/重新加载 Apache:sudo service apache2 restart

只要这三项正确,您就可以开始了。我已经在运行 Apache 2.4.41 的新 Ubuntu Server 20.04 VM 上进行了测试。

相关内容