Magento 2.2.2 错误 .htaccess IfVersion 2.4
Magento 2.2.2 error .htaccess IfVersion 2.4
在 Magento 2.2.2 的默认 .htaccess 中,有如下两个内容:
<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 中删除后,问题就消失了。
请问是否有此版本检查,该怎么做以及删除它们时会发生什么情况?
这是 apache 版本控制。
您可以从上面获得更多详细信息 GitHub link
https://github.com/magento/magento2/issues/10810
这些更改是根据安全前景进行的,以改进直接文件访问算法。
早期版本的 Magento 不支持 >=2.4 的 Apache 版本。我曾经在 htaccess 文件中手动将 order allow,deny
和 deny from all
行替换为 Require all denied
来解决问题。
从 Magento 2.2.2 版本开始,代码已更改为也支持 >= 2.4 的 apache 版本。 ( 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
否则您可能会收到“内部服务器错误”。
我在 Centos(Cpanel) Apache 2.4 上遇到了同样的问题。通过为 Apache 启用 mod_version
模块解决了该问题。
在 Magento 2.2.2 的默认 .htaccess 中,有如下两个内容:
<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 中删除后,问题就消失了。
请问是否有此版本检查,该怎么做以及删除它们时会发生什么情况?
这是 apache 版本控制。 您可以从上面获得更多详细信息 GitHub link https://github.com/magento/magento2/issues/10810
这些更改是根据安全前景进行的,以改进直接文件访问算法。
早期版本的 Magento 不支持 >=2.4 的 Apache 版本。我曾经在 htaccess 文件中手动将 order allow,deny
和 deny from all
行替换为 Require all denied
来解决问题。
从 Magento 2.2.2 版本开始,代码已更改为也支持 >= 2.4 的 apache 版本。 ( 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
否则您可能会收到“内部服务器错误”。
我在 Centos(Cpanel) Apache 2.4 上遇到了同样的问题。通过为 Apache 启用 mod_version
模块解决了该问题。