How to map domains to specific pages in WordPress and display them in the address bar?

Create multisite and use sub-domain names in websites rather than directory.

and later Define siteURL in multisite dashboard >> websites >> settings.

.htaccess look like this:

# BEGIN WordPress
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

# avoid error: Request exceeded the limit of 10 internal redirects
RewriteCond %{ENV:REDIRECT_STATUS} 200 [OR]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

for config.php file

define('ENABLE_CACHE', true);
define('CACHE_EXPIRATION_TIME', 604800);
define('WP_MEMORY_LIMIT', '92M');
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'dev1.domainurl.com');
define('PATH_CURRENT_SITE', "https://wordpress.stackexchange.com/");
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define('SUNRISE', 'on');

To enable customizer this will help:

https://wordpress.org/support/topic/making-customizer-work-with-domain-mapping/