Magento 2.2.2 error .htaccess IfVersion 2.4



在Magento 2.2.2的默认.htaccess中,有2种如下:

<Files cron.php>
<IfVersion < 2.4>
order allow,deny
deny from all
</IfVersion>
<IfVersion >= 2.4>
Require all denied
</IfVersion>
</Files>

对于某些文件,大约有20个这样的文件(例如composer.json,composer.lock,.gitignore等)

更新 magento 时,我给出了很多错误,当我将它们从 htaccess 中删除时,问题就消失了。

Wij这个版本检查在那里,wat do do 当我删除它们时会发生什么?

我在 Centos(Cpanel) Apache 2.4 上遇到了同样的问题。此问题已通过为 Apache 启用mod_version模块得到解决。

Magento的早期版本不支持Apache版本>=2.4。我曾经手动将 htaccess 文件中的order allow,deny deny from all行替换为Require all denied来解决此问题。

从Magento 2.2.2版本开始,代码更改为支持apache版本>= 2.4。( https://github.com/magento/magento2/pull/11459/files )

根据您提到的信息,我推断您的 Apache 版本是 <2.4 ,而不是编辑所有 24 个文件,您可以load mod_version.

您必须从 apache 配置文件加载版本,如下所示。

LoadModule version_module/usr/lib64/apache2/mod_version.so

否则,您可能会收到"内部服务器错误"。

这是 apache 版本控制。 您可以从上面的GitHub链接获取更多详细信息 https://github.com/magento/magento2/issues/10810

这些更改是根据安全前景进行的,以改进直接文件访问算法。

最新更新