0

私は、私が望むことを行う正しいリライト/リダイレクトを取得しようとするのに苦労しています.それが可能かどうか疑問に思っています.

私はこの書き換え設定を持っています:

Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*) http://www.newdomain.com/ [R=301,L]

これは、olddomain.com/whatever からのすべてのリクエストを受け取り、それらを新しいメイン URL に書き換えるのに最適です。ただし、最も人気のある「古い」URLの10または15を取得し、それらを新しいURLの新しい場所に書き換え/リダイレクトできるようにしたいと考えています. 私のディレクトリ構造は新しい URL への変更に伴って変更されたため、新しい URL はすべて異なり、物事は別の場所に配置されています。古いドメインからのすべてのトラフィックを新しいドメインにリダイレクトし、いくつかの古い URL を指定して新しいドメインの新しい URL にリダイレクトすることは可能ですか?

これが十分に明確であることを願っています。誰かが私を助けてくれることを願っています。御時間ありがとうございます!

トム

4

1 に答える 1

1

解決策は次のとおりです。

古いドメインの .htaccess

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

上記では、次のように、特定のページをキャッチして新しい場所に転送するリダイレクト ルールを配置できます。

Redirect 301 /2012/05/old-post http://www.newdomain.com/old-post

他のすべてをキャッチする書き換えルールの上にリダイレクト ディレクティブを必ず配置してください。

新しいドメインの .htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.[a-z-]+\.[a-z]{2,6} [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z]{2,6})$     [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]

このソリューションは、https ://forums.digitalpoint.com/threads/htaccess-redirect-all-traffic-to-another-site.867280/ で見つかりました。

私も似たようなことをしたことがありますので、参考になれば幸いです。

于 2013-07-10T17:19:56.057 に答える