将非 www 转发到 www,特定子域除外

Forward non-www to www except for specific subdomain

我正在使用此 RewriteCondRewriteRule:

将所有非 www 请求路由到 www 域
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.mydomain.tld/ [R=301,L]

但是我想排除一个特定的子域,例如blog.mydomain.tld。我必须如何修改我的条件和规则才能实现此目的?

您只需在 RewriteCond:

的正则表达式中添加该子域
RewriteEngine On

RewriteCond %{HTTP_HOST} !^(www|blog)\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L,NE]

你试过添加

RewriteCond %{HTTP_HOST} !^www\.    
RewriteCond %{HTTP_HOST} !^blog\.
RewriteRule ^(.*)$ http://www.mydomain.tld/ [R=301,L]