как направить все поддомены в одну папку?
Этим Apache должен заниматься если, конечно поддомены не находятся на другом сервере.
В Apache пишешь главный домен в "ServerName" и какие нужны домены/поддомены в "ServerAlias". Алиасы виртуального сервера -- это, если можно так сказать, псевдонимы, а сервер один и файлы его располагаются в "DocumentRoot". То есть, для всех таких доменных имен одна коренная директория со скриптами. Можно, конечно, насоздавать и множество виртуальных серверов с указанием "DocumentRoot" на одну директорию.
Далее, у тебя есть главный скрипт "index.php", на него и можешь с помощью mod_rewrite все, что нужно сваливать. Например, запросы несуществующих ресурсов:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
А в самом скрипте index.php разбирать ситуацию в зависимости от $_SERVER.