Я думаю, это примерно то, что вы ищете, если вы действительно хотите сделать внутреннюю переписать, как вы пишете в своем вопросе. Альтернативой будет перенаправление external , которое также изменит URL, видимый в браузере.
Как правило, сначала необходимо настроить хост по умолчанию в разделе конфигурации хоста http-серверов. Этот хост должен отвечать на все входящие запросы к тем случайным именам хостов («поддоменам»), на которые вы хотите реагировать. Внутри хоста по умолчанию вам нужно реализовать правило переписывания:
RewriteEngine on
RewriteCond %{QUERY_HOST} ^(.+)\.example\.com$
RewriteRule ^/?(.*)$ /folder/index.php?domain=%1&id=$1 [L]
Это правило будет работать также в конфигурации хоста http-серверов или в файле динамической конфигурации (файл стиля ".htaccess"). Вы, безусловно, должны предпочесть первый вариант по разным причинам.
Общее замечание по этому поводу: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования файлов динамической конфигурации (".htaccess"). Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).