0

ユーザーが *.domain.com に対して入力するすべての要求を 301 でリダイレクトする htaccess を使用して基本的なルール セットを作成することができました。

したがって、すべて : *.domain.com リクエストは www.home.domain.com にリダイレクトされます

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

今、私はそれを変更して、元々 *.home.domain.com を持っていなかったが以前の条件を維持し続けているすべてのリクエストを 302 でリダイレクトしようとしています

私はすでにいくつかの返信を読みましたが、私の場合に同様の返信を適用するには、正規表現の構文に戸惑っています。

更新 : ジョン リンさん、返信ありがとうございます。

それは最初から私のせいです、あなたの返事を読んで理解しました

私は全て欲しい :

*.home.domain.com >> 301 >> www.home.domain.com
not *.home.domain.com >> 302 >> www.google.com (for example)

更新 2:

これはうまくいきますか?

RewriteCond %{HTTP_HOST} ^(.*)\.home\.domain\.com$ [NC]
RewriteCond $1 !^www\.$ [NC]
RewriteRule ^(.*)$ http://www.home.domain.com [R=301]

RewriteCond %{HTTP_HOST} !^(.*)\.home\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.google.com [L,R=302]
4

1 に答える 1

0

Try:

# all : *.domain.com requests redirect to www.home.domain.com
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.home.domain.com/$1 [L,R=301]

# all requests that didn't have originally the *.home.domain.com
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.home.domain.com/$1 [L,R=302]
于 2012-10-02T21:20:35.060 に答える