Los "#" en Apache son comentarios, es decir, dichas reglas aparte de estar sintácticamente mal no se están ejecutando
Es más sencillo que todo eso:
Código Apache:
Ver originalRewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(.+)\.mydominio.com
RewriteRule ^(.+)$ /?city=%1 [L]