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/
乾杯!
處理這個問題的正確方法是添加一個'Vary:'頭文件。如果您將重定向決定基於該標頭,則可以使用'Vary:Accept-language';但正如你所說,你的決定基於客戶端IP,你應該使用'Vary:*'(如[RFC] [http://tools.ietf.org/html/rfc7231#section-7.1.4 ))。我想用一個合適的「Vary:」標題即使301也許是合適的;但是因爲這只是表明,對於每個請求也會有相同的重定向,這些請求也具有相同的未指定的額外頭文件和IP以及其他東西,所以不會有與302 –