I have a specific URL that has to be accessible without SSL, so that some old devices can access it. The reason is those old devices have the URL hardcoded.
The URL is http://domain.com/server
My .htaccess looks like this:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Redirect 301 /server http://sub.domain.com/server
However, the devices can't even access the first URL because it keeps redirecting to https://domain.com/server
.htaccessfile that triggers the HTTP to HTTPS redirect. You will need to either "fix" or disable the HTTP to HTTPS redirect elsewhere in your WordPress install. Only if you disable the redirect within WP itself would you then be able to implement the redirect in.htaccess, otherwise you'll get a redirect loop. (TheRedirectdirective you posted is a "redirect loop" regardless, since it's unconditionally redirecting/serverto/server.)