1

다음 위치의 웹 사이트가있는 경우;사용자를 특정 국가로 리디렉션 할 때 어떤 HTTP 상태 코드를 보내야합니까?

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

"사용자 X"는 (심지어 구글 수) 첫 WWW로 이동

. site.com 나는 그들의 IP를 확인하고/uk/버전 (또는 무엇이든)으로 리디렉션되어야한다고 생각합니다.

사용자는 언제든지 (ala GoDaddy.com) 국가를 변경할 수 있지만 처음 착륙하고 리디렉션되는 경우 HTTP 상태 코드로 무엇을 보내야합니까?

내가 먼저 (301)를 생각하지만, "사용자 Y는"캐나다에서 될 수 있으므로 www.site.com은

건배를 www.site.com/ca/로 이동해야하기 때문에 기술적으로는 영구 리디렉션되지 않습니다 !

답변

2

저는 생각합니다. 302이 적합합니다. 나에게 301은 리디렉션을 보내고 있던 원래 URL이 여전히 존재하기 때문에 너무 엄격한 것으로 보입니다. 또한 SEO 관점에서 볼 때 크롤러는 여전히 이전 "루트"-URL을 방문해야합니다.

캐나다에 관해 언급했듯이, 저는이 방법으로 현실 세계의 예를 들고 있습니다. 캐나다 Kijiji에서 지역을 선택하면 (예 : http://toronto.kijiji.ca) http://www.kijiji.ca으로 가면 선택한 지역으로 302으로 리디렉션됩니다.

+1

이것을 처리하는 올바른 방법은'Vary :'헤더를 추가하는 것입니다. 당신은'Vary : Accept-language'를 사용할 수 있습니다. 그러나 클라이언트 IP에 대한 결정을 내릴 때, [RFC] (http://tools.ietf.org/html/rfc7231#section-7.1.4)에 명시된대로 'Vary : *'를 사용해야합니다.)). 적합한 'Vary :'헤더를 사용하면 301 조가 적절할 수도 있습니다. 그러나 이것은 똑같은 리디렉션이 지정되지 않은 추가 헤더와 IP 및 내용을 가진 모든 요청에 ​​대해 발생한다는 것을 설명하기 때문에 더 이상 302와는 차이가 없습니다 –

관련 문제