Hi Rob,
Thanks again for the assistance. You are right. Server version: Apache/2.4.10 (Raspbian)
However, although deprecated, the syntax is still supported for compatibility. According to the Apache documentation, mod_access_compat was created to support configurations containing only old directives to facilitate the 2.4 upgrade, although mixed configurations aren’t recommended.
“Require all granted
” replaces the statements:
Order allow,deny
Allow from all
If this wasn’t working, then I would expect a different error, like:
"error.log - AH01797: client denied by server configuration: /var/www/html/admin..."
, but I don’t get that.
The Apache documentation for 2,4 does say this:
“Errors serving requests:
configuration error: couldn’t check user: /path - load module mod_authn_core.
.htaccess files aren’t being processed - Check for an appropriate AllowOverride directive; the default changed to None in 2.4.”
Any error with the AllowOverride directive should result in the .htaccess file not being parsed at all. But as you can see in my earlier post above, it is set to “All” and I know that the .htaccess file is being parsed because if I type a junk string like “hello” into the .htaccess file, then I get a server 500 error, (which goes away if the junk is removed).
Just to prove it to myself, I have now included “Require all granted” in the 000-default.conf file. No difference I’m afraid.
Within the .htaccess file, is the following statement:
# This is here to present a warning in the GUI if it's not parsed. If this isn't parsed,
# you need to manually add these blocks to however you're managing ACLs on your web server
SetEnv HTACCESS on
I suspect that either it isn’t being set, or the test in config.php to see if it is actually set is failing - but I don’t know how to debug this.