2011-07-09 24 views
1

ドメイン名の後に同じURL要素を含めて301リダイレクトトラフィックをどのようにして行うことができますか?誰でも知っていますか?.htaccess 301リダイレクト

RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$ 
RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com" [R=301,L] 
01:私はこのような何かを持っている現時点で

http://www.newdomain.com/catalogue/category/fruits/pg/2.html 

:にリダイレクトする

http://www.olddomain.com/catalogue/category/fruits/pg/2.html 

: - 個別の例では、このようなものになるだろう

が、これは、例えば、以下のような状況では動作しません。

http://www.olddomain.com/login.html 

それは単に新しいドメインにリダイレクトされませんし、後/login.htmlを保ちます。

手がかりはありますか? olddomain.com

答えて

2

は、あなたは、単にしようとしています。 - グーグルの多くの後、私は解決策を見つけた

RewriteRule ^(.*)$ http://www.newdomain.com$1 [R=301,L] 
1

YoureのするRewriteRuleが間違っているのルートフォルダに

Redirect 301/http://newdomain.com/ 

を:

+0

はい - これは私を 'http://www.newdomain.com/login.html'にリダイレクトするつもりはありません。私が 'http://www.newdomain.com'に直接リダイレクトされます。 'http://www.olddomain.com/login.html'と入力してください - 私が探しているものは実際にありません – user398341

+0

@ user398341最後に$ 1を逃しました。 (。*)は古いドメインのパスを取得し、リダイレクトで$ 1を使用して参照します。だから、olddomain.com/login.htmlをnewdomain.com/login.htmlにリダイレクトする必要があります。 – nxt

+0

私は恐れています。 – user398341

0

OK:あなただけ

古いドメイン上のすべてのパスを含めるように書き換えルールを変更してみを/login.html http://www.olddomain.com/をリダイレクトしますがいません - 簡単な2行になる:

RewriteCond %{HTTP_HOST} !^www\.newdomain\.com$ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] 

参加いただきありがとうございます。

関連する問題