skip to Main Content

In the default .htaccess in Magento 2.2.2 there are in 2 of the things like below:

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

There are someting about 20 of these for some files (eg. composer.json, composer.lock, .gitignore, etc)

When updating magento i gave a lot of errors, when i remove them out of the htaccess the problem was gone.

Wij are this versionchecks there, wat do the do and what can happen when i remove them?

3

Answers


  1. This is apache versioning.
    You can get more details from the above GitHub link
    https://github.com/magento/magento2/issues/10810

    These changes are made as per security prospect to improve the direct file access algorithm.

    Login or Signup to reply.
  2. Earlier versions of Magento do not have support for Apache version >=2.4. I used to replace order allow,deny and deny from all lines with Require all denied in htaccess files manually to resolve the issue.

    From the Magento 2.2.2 version, code is changed to support apache version >= 2.4 also. ( https://github.com/magento/magento2/pull/11459/files )

    As per the info you have mentioned, I inferred that your Apache version is < 2.4 , rather than editing all 24 files, you can load mod_version.

    You have to load version moudle from apache configuration file as below.

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

    otherwise you may get "Internal server error".

    Login or Signup to reply.
  3. I faced the same problem on Centos(Cpanel) Apache 2.4. The issue was resolved by enabling the mod_version module for Apache.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search