redirect all wildcard subdomains to root domain

Okay, I have done a fair amount of searching but still can't find something specific enough to handle my problem.

Right now I have a DNS record that redirects all other subdomains to my server. What I'm asking is what would make example.mydomain.com return HTTP/1.1 301 and redirect to just mydomain.com

My apologies if this has been covered, I just couldn't find anything specific enough.


Solution 1:

Use a RewriteCond to match domains other than mydomain.com and 301 redirect them:

RewriteEngine On
# If the domain (any domain) is not exactly mydomain.com...
RewriteCond %{HTTP_HOST} !^mydomain\.com$ [NC]
RewriteRule (.*) http://mydomain.com/$1 [L,R=301,QSA]

You can also look more specifically for subdomains of mydomain.com. The one above would match any other domain.

# Match only subdomains of mydomain.com
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$ [NC]
RewriteRule (.*) http://mydomain.com/$1 [L,R=301,QSA]

Solution 2:

This article Covers .htacces and ModRewrite to redirect any request made to any domin other than the primary one redirect to the primary domain.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.newdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] 

Solution 3:

In my case I need rule like foo.bar.com > bar.com/page/foo and I found in apache documentation this:

RewriteCond %{HTTP_HOST} ^(.+)\.bar\.com$ [NC]
RewriteCond %{HTTP_HOST} !www.bar.com$ [NC]
RewriteRule ^(.*)$ http://bar.com/page/%1/$1 [L,R=301]