Hi Robert, 2017-03-05 21:57 GMT+01:00 Robert Moskowitz <r...@htt-consult.com>:
> Hello, > > This is for Apache 2.4 on Centos7. I am migrating from Apache 2.2 on > Centos6. > > I want to support redirecting all webmail queries to https. for either > queries to: > > webmail.foo.com or foo.com/webmail > > My old rules were: > > <VirtualHost *:80> > ServerName webmail.htt-consult.com > ServerAlias webmail > RewriteEngine On > RewriteCond %{SERVER_PORT} !^443$ > RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] > ExpiresDefault "access plus 10 years" > AddOutputFilterByType DEFLATE text/html text/plain text/xml > php_admin_flag session.cookie_secure "1" > </VirtualHost> > > This SEEMED to only work for the webmail virtual host, and not others on > this server. When I used this rule set on the new server, it clearly was > redirecting all web accesses to https. Have you checked if the VirtualHost is the default one (you can use apachectl -S to confirm)? > So I tried to write a more restrictive rule, trying to follow instructions > from > > http://httpd.apache.org/docs/current/rewrite/intro.html > > It would seem the rule: > > RewriteRule ^.*webmail https://%{SERVER_NAME}%{REQUEST_URI} [L,R] > > Should work, but the test site I tried: > > http://martinmelin.se/rewrite-rule-tester/ > > Did not show this did the rewrite to https. So from http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule: "RewriteRule Pattern Substitution [flags]" "In VirtualHost context, The Pattern will initially be matched against the part of the URL after the hostname and port, and before the query string (e.g. "/app1/index.html"). This is the (%-decoded) URL-path." If I got it correctly you are trying to match the hostname in the Pattern, that shouldn't work in Vhost context. Also how to direct Webmail.foo.com to https://webmail.foo.com? > https://httpd.apache.org/docs/2.4/mod/mod_alias.html#redirect or https://httpd.apache.org/docs/2.4/mod/mod_alias.html#redirectmatch might help you (and in my opinion they are way more maintainable than rewrite rules). Hope that helps! Luca