Я пытаюсь перенаправить все ПОДДОМЕНЫ, кроме portal.example.com, с любого порта (обычно это 80 или 443) на порт 30000.
например
В настоящее время у меня есть следующие .htaccess, направляющие example.com и *.example.com без изменений:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Не могли бы вы попробовать следующее, написанное в соответствии с показанными вами образцами. Убедитесь, что вы очистили кеш браузера перед тестированием URL-адресов.
RewriteEngine ON
RewriteCond !^example\.com [NC]
RewriteCond !^www\.example\.com [NC]
RewriteCond !^portal\.example\.com [NC]
RewriteCond (.*example\.com) [NC]
RewriteCond %{SERVER_PORT} !^30000$
RewriteRule ^(.*)$ http://%{HTTP_HOST}:30000%{REQUEST_URI} [R=301,NE,L]
Немного изменено правило:
RewriteEngine On
RewriteCond %{SERVER_PORT} !=30000
RewriteCond !^((?:www|portal)\.)?example\.com [NC]
RewriteRule ^ http://%{HTTP_HOST}:30000%{REQUEST_URI} [R=301,NE,L]