Re: Help with rewriterule

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Robert,

2017-03-05 21:57 GMT+01:00 Robert Moskowitz <rgm@xxxxxxxxxxxxxxx>:
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 



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux