0

私は少なくとも 3 時間グーグルで検索し、スタック オーバーフローや他のフォーラムですべての例を試しました。.htaccess (リダイレクトまたは書き換え) を使用して、.com の後に何も渡さずにすべてのトラフィックをあるドメインから別のドメインにリダイレクトできるようにする方法を知っている人はいますか?

私は古いドメインを持っています:

http://www.olddomain.com

そのドメインへのすべてのリクエストを特定の URL にリダイレクトしたい

http://www.newdomain.com/new/directory/

.htaccess でかなりの種類のリダイレクトと書き換えルールを試しましたが、次のようなリクエストを行うと:

http://www.olddomain.com/some/directory/

リダイレクトは常に次のように新しいドメインに送信されます。

http://www.newdomain.com/new/directory/some/directory/

リダイレクトは、リダイレクトへの URI のポスト ペンディングです。

追加しようとしましたか?を新しい URL の末尾に追加しても、それは役に立ちません。

ここに私のリダイレクトのいくつかがあります。(罪のない人を保護するためにドメイン名が変更されました)

RewriteEngine on

#RewriteRule ^ http://www.newdomain.com/new/directory/ [R=301,L]
#RewriteRule ^ http://www.newdomain.com/new/directory/? [R=301,L]
#RewriteRule /?$ http://www.newdomain.com/new/directory/? [R=301,L]
RewriteRule ^([^/\.]+)/?$ http://www.newdomain.com/new/directory/? [R=301,L]

Redirect コマンドも試しました...

Redirect 301 / http://www.newdomain.com/new/directory/?

これらのどれも /some/directory/ を削除していないようで、リダイレクトし続けます

http://www.newdomain.com/new/directory/some/directory/

どんな考えでも大歓迎です。

4

1 に答える 1

0

ただ試してみてください:

RedirectMatch 301 ^ http://www.newdomain.com/new/directory/?

しかし、むしろ mod_rewrite を使用したい場合は、ルールにかなり近いように見えます。正規表現をにでも一致させる必要があるだけです。

RewriteRule ^ http://www.newdomain.com/new/directory/? [R=301,L]

これらのドメインの両方が実際には同じサーバー、同じドキュメント ルートでホストされており、これを htaccess ファイルに入れる場合はRewriteRule、ホスト:

RewriteCond %{HTTP_HOST} olddomain.com$ [NC]
于 2012-08-02T20:35:39.920 に答える