gpt4 book ai didi

localization - 云前/S3 : Server different file depending on Request Header

转载 作者:行者123 更新时间:2023-12-04 04:35:02 24 4
gpt4 key购买 nike

我在 CloudFront 和 S3 上托管了一个由 Middleman 生成的静态网站。我想添加多种语言支持,中间人允许我对内容进行本地化,并在/index.html 中有英文版本,在/sp/index.html 中有翻译的内容。

我希望能够检测请求中的“Accept-Language” header ,并基于该服务器/index.html 或/sp/index.html 。

根据我的研究,我看不到使用 S3 和 Cloudfront 做到这一点的方法,但也许你们有想法?

如果没有使用 CloudFront 和 S3 执行此操作的“适当且好的方法”,那么下一个最佳选择是什么?目前我正在考虑检测 JavaScript 中的语言,然后在语言不是英语时重定向用户。

问候,金

最佳答案

如评论中所述,您将需要某种仲裁器来读取请求 header 并重定向或提供动态内容。 S3是那里的问题。

CloudFront 可以 forward the Accept-Language header to your origin server ,并确保内容仅按语言缓存。所以那部分不是问题。

如果 S3 是您的来源,那么您就会遇到问题,因为您的文件是静态的,无法处理带有语言信息的传入请求。我不建议尝试使用 JavaScript 检测语言。 It's problematic .

尽管 CloudFront 可以配置多个源(在您的情况下,每种语言一个),但它无法根据请求 header 转发到这些源。目前“行为”只能匹配 URL 路径。我怀疑他们可能会在某个时候引入标题规则,但在他们这样做之前(或者除非您能找到另一个这样做的 CDN),我担心我的答案将是“你不能”的答案。

由于您的网站都是纯 HTML,我怀疑您对包含各种 CloudFront 行为和动态服务器脚本等的复杂解决方案不感兴趣。

我认为到目前为止你最好的选择是一个简单的、低技术的——

为访问者提供语言选择并允许他们从任何页面切换语言。这也避免了意外——如果我用英语在谷歌上搜索一些东西,但我说西类牙语,我应该看到我用谷歌搜索的英文页面,然后如果我愿意的话就切换到西类牙语。

关于localization - 云前/S3 : Server different file depending on Request Header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22907349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com