httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Weill <>
Subject [users@httpd] RHEL6 software collections mod_rewrite not working
Date Thu, 02 May 2019 22:34:51 GMT
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:

RewriteCond %{HTTP_HOST}        ^$ [NC]
RewriteRule ^/$ [L,R]
RewriteCond %{HTTP_HOST}        ^$ [NC]
RewriteRule ^/$ [L,R]
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}
        RewriteCond %{HTTP_HOST} !
        RewriteRule ^.*${REQUEST_URI} [R]

In the base apache 2.2 version, this works perfectly to redirect anyone who
enters "" or "" first, to "" or ""
respectively, then redirects to ""

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}"  "^$" [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?


View raw message