10

現在私は持っています:

Redirect 302 / http://www.example.com

foo.mydomain.com私はまだこのリダイレクトが発生することを望んでいますが、このサブドメインの他のページに移動した場合にリダイレクトしたくありません。

これどうやってするの?

4

1 に答える 1

22

その方法でより具体的にするには、単純なディレクティブRewriteCond / RewriteRuleではなく、使用する必要があります。Redirectに対して否定一致 ( !) をfoo.mydomain.com実行し、書き換えを実行します。複数のサブドメインを OR グループに一致させることができます(foo|other1|other2)

RewriteEngine On
# Redirect anything except foo.example.com, bar.example.com
RewriteCond %{HTTP_HOST} !^(foo|bar)\.example\.com$ [NC]
# Redirect to www.example.com, preserving the URI
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=302]

を介してURI全体を追加するのではなく、ルートにリダイレクトするだけの場合は$1、同じものを使用して次のRewriteCondようにします:

# Match and redirect everything to the root of www.example.com
RewriteRule ^. http://www.example.com/ [L,R=302]
于 2013-06-02T19:46:46.410 に答える