Ну, вы уже знаете, как определить, находится ли пользователь на поддомене, поскольку вы уже делаете это для своего контроллера:
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^$ pages/public_subdomain_blog.php [L,QSA]
Хотя может быть, а может и не быть возможно немного упростить весь набор правил, самое простое, что можно сделать, это просто подготовить ваши правила таким же образом. Поскольку у вас меньше правил для поддоменов, мы можем переместить их выше правил основного сайта и условно применить изменения, используя следующее условие:
## THESE RULES SHOULD ONLY BE SET IF THE USERS IS ON A SUBDOMAIN
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^([0-9]*)/(.*)$ pages/public_subdomain_blog_article.php?p_id=$1 [L]
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^(kategori)/([0-9]*)$ pages/public_subdomain_blog.php?c_id=$2 [L]
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^(arkiv)/([0-9]*)$ pages/public_subdomain_blog.php?a_id=$2 [L]
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteRule ^(feed)$ pages/public_subdomain_blog_feed.php [L]
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^(indsend-nyhed)$ pages/public_submit_news.php [L]
RewriteRule ^(modeblogs)$ pages/public_blogs.php [L]
RewriteRule ^(nyheder)$ pages/public_news.php [L]
RewriteRule ^(feed)$ pages/public_news_feed.php [L]
RewriteRule ^(nyheder)/([0-9]*)/(.*)$ pages/public_news_single.php?n_id=$2 [L]
RewriteRule ^(kontrolpanel)$ pages/private_account.php [L,QSA]
RewriteRule ^(kontrolpanel)/(logud)$ pages/private_logout.php [L]