【问题标题】:Automatically language detect and redirect in the client side in JS with Akamai使用 Akamai 在 JS 客户端中自动检测和重定向语言
【发布时间】:2012-09-18 19:09:09
【问题描述】:

我有一个翻译成 18 种语言的网站(有 18 个翻译域)。它还具有基于语言的动态内容,即不同的产品,其中一些仅以特定语言提供。虽然有一个语言选择器,人们可以使用它来切换语言并因此切换站点,但该人以他不知道的语言找到语言选择器的机会并不太高。这对于解决至关重要,尤其是对于付费广告流量,如果不加以处理就会被浪费。

我将 Akamai 用作 CDN,并希望在 JS 中进行检测和重定向,理想情况下是在边缘服务器层上,这样就不必再调用一次必须返回到源服务器。在浏览了他们的所有文档、UI 中的配置选项等之后。我没有看到这样做的方法。

虽然我确实联系了我的 Akamai 代表,并与他们的一位工程师一起提出了解决方案,但我不知道这是否是最好的解决方案,并且对其他解决方案持开放态度。

【问题讨论】:

    标签: javascript cdn akamai language-detection


    【解决方案1】:

    Akamai 有一项名为(我上次检查)“内容定位”的服务,以前称为“Edgescape”。在边缘,Edgescape 为每个传入请求添加一个名为“x-akamai-edgescape”的第 7 层 (http) 标头,并提供有关最终用户的大量信息:

    城市、州、国家、邮政编码、区号、ISP、ISP 吞吐量(DSL、卫星)等等。

    一旦您将该信息添加到请求标头中,您(原始服务器)就可以根据该信息做出决策,例如如果 country=ES,重定向到 spanish.yourdomain.com。或者,您可以让 Akamai 使用边缘逻辑做出这些决定。他们的服务器可以读取带有国家值的传入 HTTP 标头并在边缘创建重定向。他们甚至可以添加一个 cookie 值,指定在后续请求中点击哪个站点。 cookie 内容仅取决于您的偏好和所需的应用程序行为。

    如果您有权访问 Akamai 客户门户,请查找 Edgescape 文档和 ACO(高级缓存优化 - 读取标头/cookie 并根据它们做出决策的能力)。

    祝你好运。

    附言Edgescape 和 ACO 是 Akamai 的附加模块,但您可能已经拥有它们,或者能够以很少或免费的成本添加它们作为续约合同的一部分。

    【讨论】:

      【解决方案2】:

      虽然不在 UI 本身中,但他们已经设置了一种方法来执行此操作。你给他们一个针对accept-language标头的域映射(是的,我认为最好使用accept-language,因为我要在网站上更改的只是语言和语言相关的设置),他们的工程师将配置它会在边缘根据该标头自动重定向到正确的域。另外,他们会给那个人一个cookie来检测他们重定向了他。这样,如果他使用语言选择器或遵循另一种语言特定的链接,它不会再次自动重定向他,而是让他去他想去的地方 - 所以它不会强迫他选择。

      显然,唯一的缺点是,如果我需要更改它,那么我必须重新检查所有内容以修复它,而不是自己动手 - 除非我忘记了什么。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-04
        • 2017-01-06
        • 2014-05-02
        • 1970-01-01
        • 2021-03-13
        • 2019-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多