現在私は持っています:
Redirect 302 / http://www.example.com
foo.mydomain.com
私はまだこのリダイレクトが発生することを望んでいますが、このサブドメインの他のページに移動した場合にリダイレクトしたくありません。
これどうやってするの?
その方法でより具体的にするには、単純なディレクティブ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]