http - 将用户重定向到特定国家/地区时,我应该发送哪个 HTTP 状态代码?

标签 http http-headers http-status-code-301 http-status-codes

如果我有一个具有以下不同位置的网站;

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

当“用户 X”(甚至可能是 Google)首次导航到 www.site.com 时,我想检查他们的 IP 并猜测他们应该被重定向到/uk/版本(或其他版本)。

用户仍然可以随时选择更改他们的国家(如 GoDaddy.com),但是当他们最初登陆并被重定向时,我应该发送什么作为 HTTP 状态代码?

我首先想到的是 301,但从技术上讲,它不是永久重定向,因为“用户 Y”可能来自加拿大,因此 www.site.com 应该转到 www.site.com/ca/

干杯!

最佳答案

我觉得302比较合适。对我来说 301 似乎太严格了,因为发送重定向的原始 URL 仍然存在。同样从 SEO 的角度来看,爬虫应该仍然访问旧的“root”-URL。

正如您提到的加拿大,我有一个真实世界的例子就是这样做的。看看 Kijiji Canada,当你选择一个地区(例如 http://toronto.kijiji.ca )之后去 http://www.kijiji.ca您将被重定向到带有 302 的选定区域。

关于http - 将用户重定向到特定国家/地区时,我应该发送哪个 HTTP 状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6914896/

相关文章:

asp.net-mvc - AngularJS 找不到 XSRF-TOKEN cookie

asp.net-mvc - 使用 asp.net mvc 将 Http 重定向到 Https 和 SEO

asp.net - 设置从旧的经典 ASP 页面到新的 ASP.NET webforms 页面的 301 重定向

java - 服务端如何返回 JWT token 给客户端?

Java 响应内容返回而不是 < 或 > < >

http - 基于用户位置的 301 重定向?

java - 如何在post请求中设置身份验证?

node.js - 尝试打印字符串时代码突然停止执行

http - JMeter:为单个线程组中的每个用户使用多个 CSV 文件和多个 HTTP 采样器

php - 非常长的 json 响应停止并以文本形式发送 HTTP header ,然后继续