RewriteEngine on # если порт отличен от 443 RewriteCond %{SERVER_PORT} !^443$ # другое определение не https #RewriteCond %{HTTPS} !=on # и если идет обращение к папке test1 или test2 RewriteCond %{REQUEST_URI} ^/(test1|test2)/ # и если это не /test2/some.php RewriteCond %{REQUEST_URI} !^/test2/some.php # то перейти на https RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [QSA,R=301,L]
UPD Rather like this:
# если порт равен 443 RewriteCond %{SERVER_PORT} ^443$ # другое определение https #RewriteCond %{HTTPS} =on # и если не идет обращение к папке test1 или test2 RewriteCond %{REQUEST_URI} !^/(test1|test2)/ [OR] # или если это /test2/some.php RewriteCond %{REQUEST_URI} ^/test2/some.php # то перейти на http RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [QSA,R=301,L]