2011-06-13 7 views
0

最近別のドメインに新しいサイトを作成しました。古いドメインのindex.htmlを新しいドメインのインデックスにリダイレクトする必要があります。特定のページを別のドメインにリダイレクトする

通常これは問題ではありませんが、古いドメインはサーバーのルートドメインです。新しいドメインはアドオンです。したがって、次の行はa.com/index.htmlb.com/index.htmlb.com/index.htmlにリダイレクトするので、リダイレクトループが発生します。

Redirect 301 /index.html http://b.com/ 

このようなやり方はありますか?

Redirect 301 http://a.com/index.html http://b.com/ 

TL; DRは、どのように私はそれがループをカスケードして発生させずに別のドメインにあるドメインにindex.htmlをリダイレクトすることができ、他のドメインがの法律の下で、そのため同じフォルダにつまり(ドメインに追加されているため、同じ.htaccess)。

答えて

1

Options +FollowSymlinks -MultiViews 
RewriteEngine on 

# for HTTP 
RewriteCond %{HTTP_HOST} ^a\.com$ [NC] 
RewriteCond %{SERVER_PORT} =80 
RewriteRule ^(index\.html)$ http://b.com/$1 [R=301,L,NC] 

# for HTTPS 
RewriteCond %{HTTP_HOST} ^a\.com$ [NC] 
RewriteCond %{SERVER_PORT} =443 
RewriteRule ^(index\.html)$ https://b.com/$1 [R=301,L,NC] 
+0

有望ですが、シンボリックリンクを追加するとサーバーエラーが発生します。これがなぜ起こっているのでしょうか?これまでのご協力ありがとうございます。 – Olical

+0

作成しているシンボリックリンクの種類を教えてください。私たちが* nixシステムで持っているシンボリックリンクですか?また、ブラウザーでサーバーエラーが発生した場合でも、error.logから関連するエラーを報告することもできます。 – anubhava

+0

私はあなたの例のオプション行を意味します。シンボリックリンクのオプションを含めると、私のサーバは役に立つエラー情報がなくなってしまいます。それがなければ何も起こりません。 – Olical

0

JAVASCRIPT REDIRECT:

だけ<head>タグの後に古いサイトにあなたのページの上部にこれを貼り付けます。

<script type="text/javascript"> 
window.location = "http://www.newsite.com/" 
</script> 

「http://www.newsite.com/」は当然のことながら、ページをリダイレクトする場所に置き換えてください。

瞬時にリダイレクトする必要があります。あなたのページの上部にあることを

<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://www.newsite.com/"); 
?> 

場所:だから古いサイトのページを訪れる誰もが瞬時にnewsite.com

PHP REDIRECT(301、永久に移動)にリダイレクトします。それはjavascriptものほどいいものではありませんが、あなたが探していると思うのはSEO FRIENDLYです。あなたはこのようなコードをより柔軟にmod_rewriteのを試すことができます

+0

うん、私はこれがうまくいくと確信していますが、私はそれが301リダイレクトする必要があります。 – Olical

+0

phpでヘッダーを設定して、検索エンジンフレンドリーなリダイレクト方法を含めるように私の答えを更新しました。 – alt

+0

答えとしてマークしてください。 – alt

関連する問題