3

SEOを行っている会社がドメイン名を変更しました。

トラフィックを新しいドメインにリダイレクトするために 301 回の書き換えを行いました。これまでのところ、3 つの変更点を書き直しましたが、そのうちの多くは多数あります。それらをすべてやり終える頃には、約 30 回の書き換えが行われることになります。

次の 3 つの引数が満たされていることを確認するために使用できるワイルドカードはありますか?

  1. 常に www を指す必要があります。バージョン。
  2. 常に co.uk バージョンを指す必要があります。
  3. 常に古い URL を新しい URL に変更する必要があります。

こんなものでしょう...

(.*)example-old(.*)= www.example-new.co.uk

(.*)example-old(.*)/(.*)= www.example-new.co.uk/ディレクトリ

以下のコードは問題 3 を整理しますが、すべてを解決するわけではありません。

ワイルドカードを使用する短いコードがあれば完璧です。

どんな助けでも大歓迎です!


# 301 --- http://example.co.uk => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^example\.co\.uk$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]

# 301 --- http://www.example.co.uk => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^www\.example\.co\.uk$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]

# 301 --- http://example.com => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]

# 301 --- http://www.example.com => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]
4

1 に答える 1

11

他のサブドメインがないと仮定すると、 の同じルートでない場合、問題のドメインのルートにあるファイルにwwwこの単純なルールを設定できます。.htaccessexample-new.co.uk

RewriteEngine On
# anything that is not equal to www.example-new.co.uk
RewriteCond %{HTTP_HOST} !^www\.example-new\.co\.uk$
# redirects to http://www.example-new.co.uk/anything
RewriteRule ^/?(.*)$ http://www.example-new.co.uk/$1 [R=301,L]

www.example-new.co.uk 以外の URL パスを新しいドメインにリダイレクトします。

だから、私がアクセスした場合:

http://example-new.co.uk/new-league <<< no wwww

次の場所にリダイレクトされます。

http://www.example-new.co.uk/new-league

そして、私がアクセスした場合:

http://www.example-new.com/new-league <<< ends with .com
http://www.example-old.co.uk/new-league <<< domain is different
http://example-old.co.uk/new-league <<< domain is different

したがって、上記の 3 つすべてが次の場所にもリダイレクトされます。

http://www.example-new.co.uk/new-league
于 2013-08-26T01:49:47.037 に答える