Как указал @Gerben (ответ на который вы должны прямо сейчас пойти и поднять голос), вы можете заставить другой домен вести себя так, как если бы subdir был корневым документом, вот так:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^seconddomain.example.com$ [NC]
RewriteCond $1 !^subdir
RewriteRule ^(.*)$ /subdir/$1 [L]
Другой способ сделать то, о чем вы спрашиваете, - это использовать тег <base>
в ваших документах HTML. Одним из преимуществ этого является то, что у вас нет дополнительной обработки .htaccess для каждого отдельного документа, обслуживаемого веб-сервером (включая все документы , а не в подкаталоге / поддомене).
Если вы хотите сделать это внутри .htaccess и перенаправить его независимо от того, является ли он поддоменом, это будет выглядеть так:
RewriteEngine on
RewriteCond %{PATH_INFO} !^subdir/
RewriteRule ^(.*)$ subdir/$1 [L]