2012-07-09 5 views
8

さて、私はかなりの量の検索を行っていますが、私の問題を処理するのに十分な特定のものはまだ見つかりません。すべてのワイルドカードサブドメインをルートドメインにリダイレクトします

今は私のサーバーに他のすべてのサブドメインをリダイレクトするDNSレコードがあります。私は何を求めていることはexample.mydomain.comリターンHTTP/1.1 301を作り、これがカバーされている場合だけmydomain.com

私の謝罪にリダイレクトどうなるかですが、私はちょうど十分な具体的な何かを見つけることができませんでした。

答えて

14

mydomain.com以外のドメインに一致するようにRewriteCondを使用し、301はそれらをリダイレクト:

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] 

ます。またmydomain.comのサブドメインのために、より具体的に見ることができます。上記のものは、のいずれかの他のドメインと一致します。

+0

WWWでのみ動作。最初は? – JorgeLuisBorges

+0

@JorgeLuisBorgesだけでなく、www。 - それはまた、サブドメインの 'subdomain.mydomain.com'または正確に' mydomain.com'以外のものと一致します。上の例では 'mydomain.org'を' mydomain.com'にリダイレクトしますが、下はサブドメインだけにマッチし、 'subdomain.mydomain.com'を' mydomain.com'にリダイレクトします –

+0

'RewriteRule(。*)http:///example.com/$1 [L、R = 301、QSA] 'はトラッティングスラッシュを生成します。 'www.example.com'は' example.com // 'にリダイレクトされます。 'RewriteRule(。*)http://example.com$1 [L、R = 301、QSA]'が正しいようです。 –

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

This article主要一つはプライマリドメインにリダイレクト以外の任意DOMINに対して行われた要求をリダイレクトする.htaccesとModRewriteカバー。

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

あなたは、サーバー側としてApacheを作る場合evan's blogによると、ワイルドカード「*」を使用してにServerAliasを構成することができます。この場合、サブドメインへのアクセスはすべてルートドメインにリダイレクトまたはルーティングされます。私が必要私の場合は

<Virtualhost *:80> 
VirtualDocumentRoot "/path/to/your/workspace/%1/public" 
ServerName vhosts.dev 
ServerAlias *.dev 
UseCanonicalName Off 
<Directory "/path/to/your/workspace/*"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
</Virtualhost> 
0

>bar.com/page/foofoo.bar.comのように支配し、私は、このApacheのドキュメントに記載されてい:

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