Один из способов - избежать использования .htaccess и виртуальных хостов.
Один VirtualHost для domain.com.
Один VirtualHost для subdomain.com.
внутри каждого VirtualHost вы можете определить <Directory />
и <Directory /domain>
для первого и <Directory />
и <Directory /domain/sub>
для второго. Затем удалите все .htaccess или используйте AllowOverride None в <Directory />
(тот же эффект). Вы также увидите, что apache работает быстрее, когда ему не нужно проверять наличие .htaccess во всех родительских каталогах.
Все Каталог инструкции могут содержать в точности то же самое, что вы обычно используете в .htaccess. .htaccess - это способ позволить кому-то определять некоторые Directory инструкции, когда вы не хотите, чтобы он редактировал файлы конфигурации apache; Но файлы .htaccess связаны с наследованием дерева каталогов.