web-dev-qa-db-ja.com

ドメインへのすべての着信要求を別のドメインに301リダイレクトする方法

現在、Apache2サーバーでWordPressブログを実行していますが、新しいドメイン名に完全に移行する必要があります。

http://www.somesite.com/からhttp://www.someothersite.com

そのドメインへのすべてのリクエストを新しいドメイン名にリダイレクトする必要があります。これは.htaccessで実行できますか?もしそうなら、使用されるルールは何ですか?

1
rsman

URLがまったく同じであり、唯一の違いがドメイン名である場合、それは非常に簡単です。 www.somesite.comのWebサイトルートフォルダーの.htaccessに次の行を配置するだけです。

Redirect 301 / http://www.someothersite.com/

上記のルールは、同じURLを使用してクエリ文字列を保持したまま、すべてのリクエストを新しいドメインにリダイレクト(301パーマネントリダイレクト)します。

同時に、その.htaccessファイル内の既存の書き換えルールを無効にする必要がある場合があります。そうしないと、WordPressがそのようなリダイレクトが発生する前にすべてのルールを処理します(RewriteRuleRedirect)。

2
LazyOne

LazyOneが私を打ち負かしました:) ....だから彼が言ったことは....プラス:

Wordpressダッシュボードでは、ブログのドメイン名を配置する設定を見つけて、新しいドメイン名に変更する必要があります。それ以外の場合、ほとんどのリンクは古いドメインを指します....もちろんこれは元に戻されますが、明らかに非効率的です。

1
Itai

最も簡単な方法は、新しいドメインを指す古いドメイン上の.htaccessファイルで301リダイレクトを使用することです。次のコードを使用します。

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Www.newdomain.comを実際の新しいドメイン名に変更するための修正。このコードは、Apacheサーバーにインストールされているmod_rewriteに依存しています。通常です。

別の方法は、Rewritematchを使用することです。

RedirectMatch 301 (.*) http://www.abookaboutchina.com/$1
1
Rincewind42