在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
这些更改是根据安全前景进行的,以改进直接文件访问算法。