Have been experiencing the same issue with a client site, exactly as described.
Issue:
http://www.myurl.com/page → https://myurl.com/wp-admin (or wp-login.php)
Debug:
- Disabled Redirection. The above works as expected (though showing non-SSL URL)
- Enabled Redirection. Turned
Force HTTPS on. Same issue as described above
- Turned
Force HTTPS off. Works as described in Step 1.
Had a look in the Redirection plugin code, to see how the HTTPS redirect was done, and in modules/wordpress.php on line 96 in the force_https function, the wp_safe_redirect function is used to redirect to the requested URL, forcing HTTPS:
wp_safe_redirect( 'https://' . $target, 301 );
This function is found in pluggable.php, line 1277-1311, and it actually has a fallback to the Admin URL when it considers the the new URL to not be valid, and runs through a filter to validate and determine if the new URL is safe or not.
This seems to be where the issue lies — WordPress considers the URL its given as not safe, and reverts to the fallback URL which is the admin URL.
I’m not sure how to fix — but should hopefully aid the plugin developer in debugging/tracking down the issue!