We are trying to use the software collections version of apache 2.4 (httpd24-httpd package) on RHEL6 and it claims mod_rewrite is being loaded but none of our previously working rewrites seem to be doing what we expect. We have a site.conf file as follows:
alias /site "/www/site"
<Directory "/www/site">
Require all granted
RewriteEngine on
RewriteBase /site
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Directory>
If I run the httpd24-httpd daemon (via /sbin/service/httpd stop; /sbin/service httpd24-httpd start), none of these rewrites work, and instead of a redirect, it loads the html root index.html file, which in this case would be /www/html/index.html as configured in the httpd.conf file. phpinfo() does show I am running apache 2.4, so I know the daemon is at least reporting the version I expect to see.
I've tried reading through the 2.4 documentation and I don't see how we are doing anything so differently from the 2.2 directives, other than I think the stanza above the alias might need to go inside the <Directory> section since RewriteEngine needs to be called first...? But even this change does not redirect the way it used to.
I have even surrounded the various sections of the RewriteCond and RewriteRule with double quotes (as in RewriteCond "%{HTTP_HOST}" "^
site.example.com$" [NC]) as shown in the 2.4 config pages, and this does not help one way or the other. LogLevel is set in the httpd.conf file as "LogLevel trace3 rewrite:trace8" and I do get the following message when I restart the daemon:
Starting httpd: [Thu May 02 15:15:45.565074 2019] [core:trace3] [pid 26668] core.c(3347): Setting LogLevel for all modules to trace3
[Thu May 02 15:15:45.565224 2019] [core:trace3] [pid 26668] core.c(3375): Setting LogLevel for module mod_rewrite.c to trace8
But I cannot find where any URL is being written in the logs. I know the Software Collections is supposed to be run via the scl command, but this particular service is supposedly able to be configured as semi-permanent, but the behavior seems to be very limited compared to the 2.2 base version that comes with RHEL6. Is there something else I am missing here? Why do the directives seem to be ignored?
jim