Ok this is the way I would do it and I will use an example of a domain that we purchased for this same reason so that someone does not buy that domain and cause confusion. We purchased aitpro.com some years ago and it is pending either being setup as a redirect or possibly being used as the primary domain and the ait-pro.com domain being redirected to aitpro.com instead. At this point we prefer the hyphenated domain: ait-pro.com over the non-hyphenated domain: aitpro.com.
I would create a folder named /aitpro.com in the root of my hosting account for this domain name that we have purchased.
Instead of bothering to setup a WordPress website in that /aitpro.com folder I would just add an .htaccess file that redirects aitpro.com to ait-pro.com with this one line of .htaccess code below.
Note: On our Host the physical folder name of an aliased domain MUST be in the RedirectMatch code or the redirect will NOT work correctly. /aitpro.com/ is the physical folder name where the site exists and is NOT the URL for the site.
RedirectMatch 301 ^/aitpro.com/$ http://www.ait-pro.com/
On other web hosts this RedirectMatch .htaccess code would probably work.
RedirectMatch 301 ^/$ http://www.ait-pro.com/
Also just for example sake and a hypothetical example scenario, let’s say that both the aitpro.com and ait-pro.com sites match identically – all posts and pages are exactly the same and you want to redirect all posts and pages from the aitpro.com domain to the ait-pro.com.
You would use a Back Reference $1
RedirectMatch 301 ^/aitpro.com/$ http://www.ait-pro.com/$1
Other hosts that do not require the physical folder name in the RedirectMatch code
RedirectMatch 301 ^/$ http://www.ait-pro.com/$1