On Sat, Sep 17, 2005 at 06:47:12PM +0200, Marco wrote: > OK. Apache2 works perfectly now. Thanks :-) > > I have also an other question to the rewrite module and Apache2. I have > configurated a virtual host with ssl. > I would like all connection to "https://*.domain.com" are rewritten to > "http://www.domain.com" except for > all connection to "https://*.domain.com/webmail" that they must be > concurred. > > ex. https://pop.domain.com --> http://www.domain.com > https://domain.com --> http://www.domain.com > https://www.domain.com/webmail --> https://www.domain.com/webmail > https://domain.com/webmail --> https://www.domain.com/webmail > https://pop.domain.com/webmail --> https://www.domain.com/webmail > > This also for the other domains (domain1.com, domain2.com ecc.) > > Can you help me again?? > > Thanks > > Marco
Hi Marco, I haven't used rewriting in SSL-servers, but it should work like this: RewriteEngine On RewriteCond %{HTTP_HOST} !^www.domain.com [NC] RewriteCond %{REQUEST_URI} !^/webmail [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://www.domain.com/$1 [L,R] RewriteCond %{HTTP_HOST} !^www.domain.com [NC] RewriteCond %{REQUEST_URI} ^/webmail [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) https://www.domain.com/$1 [L,R] With these rules, if you have your SSL virtual hosts separate from your non-SSL virtual hosts, add those lines to your SSL virtual hosts. Then http://anything.domain.com/webmail would go to the http://www.domain.com/webmail, so that might still need special handling depending on how you want it handled. If you want http://anything.domain.com/webmail to go to the https://www.domain.com/webmail then you need to add another rule in addition to the ones in your non-SSL virtual hosts that are working right now (before them): RewriteCond %{REQUEST_URI} ^/webmail [NC] RewriteRule ^/(.*) https://www.domain.com/$1 [L,R] If on the other hand you have your SSL virtual hosts in the same virtual hosts as your non-SSL virtual hosts, replace the rules which are working right now with the rules above. The http://anything.domain.com/webmail would then go to the https://www.domain.com/webmail. To make the http://www.domain.com/webmail to go to the https://www.comain.com/webmail, add those two lines before the other rules. If you want only https requests to go to the SSL virtual host, then you can use: RewriteCond %{HTTPS} ^on$ to check if the request is https or not. So once again, depending on your setup and how you want those http vs. https cases handled, there are a few possibilities :) Simo -- :r ~/.signature
signature.asc
Description: Digital signature