Ok para subdominio es fácil. Supongo que solo busca el subdominio:
blog5.site.com
= > explode('.', $_SERVER['REQUEST_URI'])...
¿Pero cómo lo hace para configuraciones de sub-directorio? Esto debería ser interesante teniendo en cuenta que las páginas, taxonomías y lo que no puede tomar la primera parte de la parte después del nombre de dominio del sitio.
¿Cómo puede distinguir entre un blog interno y una página del blog principal? Lo único que se me ocurre es que la base de datos coincida con la lista completa de blogs, luego, si falla, coincide con el contenido principal del blog, pero sería una cosa realmente estúpida porque demora el sitio ...