6

こんにちは、次のようなメインドメインがあります

メインドメイン: http: //www.sample.com/

サブドメイン : http://dev.sample.com/

今、誰かがhttp://dev.sample.com/にアクセスした場合http://www.sample.com/にリダイレクトする必要が あるので、サブドメインに次のコードを追加しました 非常にうまく機能します

RewriteCond %{HTTP_HOST} !www.sample.com.com$ [NC]

RewriteRule ^(.*)$ http://www.sample.com.com/$1 [L,R=301]

ただし、サブドメインから次の URL http://dev.sample.com/dataにアクセスした場合は、メイン ドメインにリダイレクトしないでください。そのサブドメインページにとどまる必要があります。誰でも考えがありますか?

4

2 に答える 2

2

これらのルールを試してください:

RewriteCond %{HTTP_HOST} ^dev\.sample\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/?data
RewriteRule ^(.*)$ http://www.sample.com/$1 [L,QSA,R=301]
于 2012-08-16T13:35:27.550 に答える
1

これを試して:

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

ただし、これにより、URI の先頭に /data が含まれるすべての URL が防止されます。したがって、http://blog.sample.com/dataがあれば、書き換えなしで解決することもできます。これが問題である場合は、より複雑になる可能性があります...このルールの後にこれを追加して、すべての非開発サブドメインをキャッチします。

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

最初の条件セットが満たされない場合、最初のルールは実行されないため、/data で dev と www up のみを提供していることを確認してください。

于 2012-08-16T13:22:59.567 に答える