1

私は以下の異なる場所のウェブサイトを持っていました。 "ユーザXは"(でも、Googleのかもしれない)最初のWWWにナビゲートするユーザーを特定の国にリダイレクトするときに、どのHTTPステータスコードを送信する必要がありますか?

www.site.com/uk/ www.site.com/us/ www.site.com/ca/

。 site.com私は彼らのIPをチェックして、/ uk/version(または何でも)にリダイレクトする必要があると思います。

ユーザーは、いつでも(ala GoDaddy.com)自分の国を変更することができますが、最初に着陸してリダイレクトされると、HTTPステータスコードとして何を送信する必要がありますか?

私が最初に301を考えたが、「ユーザY」は、カナダからかもしれないので、www.site.comが

乾杯をwww.site.com/ca/に行く必要があるため、技術的には永久的なリダイレクトではありません!

答えて

2

私は302が適切だと思います。私には301が厳しいようですが、リダイレクトを送信していた元のURLがまだ存在するためです。また、SEOの観点から、クローラは古い「ルート」-URLをまだ訪問する必要があります。

あなたがカナダについて言及したように、私はこのようにしている現実世界の例を持っています。カナダのKijijiを見て、その後http://www.kijiji.caに行くと302で選択された地域にリダイレクトされる地域(たとえばhttp://toronto.kijiji.ca)を選択すると、

+1

これを処理する適切な方法は、 'Vary:'ヘッダを追加することです。あなたはそのヘッダにリダイレクションの決定を下すのであれば 'Vary:Accept-language'を使うことができます。しかしあなたがクライアントIPに基づいて決定したと言うように、あなたは 'Vary:*'([RFC](http://tools.ietf.org/html/rfc7231#section-7.1.4 ))。適切な 'Vary:'ヘッダを付けて301を指定するのも適切かもしれません。しかし、これはちょうど同じリダイレクトが同じ不特定の余分なヘッダーとIPやものを持っているすべての要求に対して発生すると述べているので、302 –

関連する問題