An .htaccess file in the root directory of a site is global to the site. An .htaccess file in a subdirectory acts locally within that subdirectory.
I have used an .htaccess within a subdirectory to redirect from /a/b/oldfile.htm to /a/b/newfile.htm and am confident it works. For the scenario you suggest, I suspect you will need to make your redirects in the root. Try it in a subdirectory and move it to the root if need be. And let us know what you learn!