.htaccess rewrite: subdominio como GET var y ruta como GET var

Resultado deseado:

http://example.com/                 -> index.php
http://www.example.com/             -> index.php
http://hello.example.com/           -> index.php?subdomain=hello
http://whatever.example.com/        -> index.php?subdomain=whatever
http://example.com/world            -> index.php?path=world
http://example.com/world/test       -> index.php?path=world/test
http://hello.example.com/world/test -> index.php?subdomain=hello&path=world/test

Con el .htaccess que tengo en este momento, puedo lograr uno u otro re-mapeo, pero no ambos al mismo tiempo.

RewriteEngine On

# Parse the subdomain as a variable we can access in PHP, and
# run the main index.php script
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST}        !^www
RewriteCond %{HTTP_HOST}         ^([^\.]+)\.([^\.]+)\.([^\.]+)$
RewriteRule ^.*$ index.php?subdomain=%1

# Map all requests to the 'path' get variable in index.php
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [L] 

Me está costando mucho combinar los dos ... ¿alguna sugerencia, por favor?

EDITAR
El comportamiento no deseado que estoy experimentando ahora es que si tengo un subdominio y una ruta después de .com /, solo se pasará el subdominio, es decir:

http://hello.example.com/world-> index.php?subdomain=hello

Respuestas a la pregunta(1)

Su respuesta a la pregunta