Примерно так и должно быть: идея состоит в том, чтобы изменить только поддомен и оставить остальную часть запроса без изменений. Вам не нужен один .htaccess на поддомен - этот может охватывать все из них.
В этом примере требуется поддомен - вызов https://example.com/folder/file.pdf
не будет иметь никакого эффекта.
Существует также исключение для www.example.com
- обратите внимание на восклицательный знак (исключение)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com
RewriteRule ^(.*)$ https://mainsub.example.com/$1 [R=301,L]
Если вы хотите ограничить правило только загрузками файлов, вы можете завершить выражение, но вам нужно определить возможные паттерны для /folder/file.pdf