私がやろうとしているのは、フォルダ /soap または /?p=uploads をタイトルに含むページを http 経由で提供し、残りのサイトは https 経由で提供することです。
RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} (^|&)(p=uploads)(&|$) [NC,OR]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^ - [E=IS_HTTP:1]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^soap/?(.*) http://www.example.com/soap/$1 [R,L]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/soap
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
soap フォルダーでは機能するようですが、 /?p=uploads のページでは機能しないようです