6

古いドメインのすべてのページを新しいドメインの単一のページにリダイレクトしようとしています。また、wwwバージョンと非wwwバージョンの両方をリダイレクトする必要があります。ドメインold.comへのすべてのリクエストは、それが何であれ、www.new.comルートにつながるはずです。

old.com/1.php
www.old.com/2.php
old.com/2.php
old.com/links/index.php
old.com/about-us.html
old.com/?string=1

すべてにリダイレクトする必要があります:

www.new.com/

.htaccessソリューションを探しています。

4

3 に答える 3

18

old.com仮想ホストでRedirectMatchを使用できます

RedirectMatch permanent .* http://www.new.com/

Redirect一致したURIの末尾部分をリダイレクトURIに追加しますが、括弧と参照RedirectMatchを使用して転送する部分(存在する場合)を選択するのはあなた次第です。$number

古いドメインと新しいドメインがディスク上の同じドキュメントルートのエイリアスである必要がある場合は、おそらくmod_rewriteを使用する必要があります

RewriteEngine on
RewriteCond %{HTTP_HOST} old\.com$
RewriteRule .* http://www.new.com/ [L,R=301]
于 2013-02-24T22:04:27.610 に答える
4

これはすでに回答済みですが、ここに役立つコメントが含まれているコードがあります。これにより、人々はそれが何をしているのかを忘れた場合に後で振り返ることができます。

これを.htaccessファイルに入れます。

## Each and every page on old domain redirects to single page
## By appending question mark to new domain, query strings are removed
RewriteEngine on
RewriteCond %{HTTP_HOST} old\.com$
RewriteRule .* http://www.new.com/? [L,R=301]

次のようにする必要がある場合のように、別のドメインのサブディレクトリにリダイレクトすることもできます。

## Each and every page on old domain redirects to single page
## By appending question mark to new domain, query strings are removed
RewriteEngine on
RewriteCond %{HTTP_HOST} old\.com$
RewriteRule .* http://www.new.com/sub-directory/? [L,R=301]
于 2013-11-10T23:12:14.517 に答える
0

これにより、クエリ文字列を含むすべてのリダイレクトが処理されます。フォーマットを失礼します、私は電話をしています:)

RewriteCond %{HTTP_HOST} old\.com$ RewriteCond %{QUERY_STRING} .+
RewriteRule (.*) http://www.new.com$1?%{QUERY_STRING} [L,R=301,QSA]

RewriteCond %{HTTP_HOST} old\.com$
RewriteRule (.*) http://www.new.com$1 [L,R=301,QSA]
于 2013-02-24T23:52:44.697 に答える