2017-08-25 6 views
1

私のhtaccessファイルは301で満たされている既存のを除いて、他のドメインへのすべてのトラフィックをリダイレクトするには、このようなようにリダイレクトします。のhtaccess - 301の

Redirect 301 /old-page.html https://www.example.com/new-page

約100これらのリダイレクトがあります。私は何をしたいのは、だから、誰かがold-site.com/old-page.htmlに行く場合、それはnew-site.com/new-pageにそれらを取るだろうし、誰かがold-site.com/random-page.htmlに行く場合は、それが取る既存の301の

除く新しいサイトに行くために、古いサイトに行くすべてのトラフィックをリダイレクトですそれらはnew-site.comに - ホームページだけです。

mod_rewriteとmod_aliasを使用して、現在の301を書き直すことなくこれを行うことはできますか?あなたが同様に処理されるべき以下のすべてのルールがRewriteCondにL(最後)フラグを使用しないでください場合

RewriteCond %{HTTP_HOST} ^(?:www\.)domain\.com$ [NC] 

:あなたはこのように、すべてのルールの前でRewriteCondを使用する必要が

答えて

1

あなたはすべてのあなたの301個のルールを維持することができます。ただ、既存のルールの下に、この一般的な301のルールを挿入します。

# all existing 301 rules go here 

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(?:www\.)?old-site\.com$ [NC] 
RewriteRule^http://new-site.com/? [L,R=301] 
+0

このためのおかげで、私はこの中を追加するときしかし、すべてが新しいサイトのホームページにリダイレクトし、301個のルールは完全に無視されます。 – Craig

+0

**この規則**の上に**ある301の規則は無視されません。テスト時にブラウザのキャッシュをクリアするようにしてください。 – anubhava