我有一个服务于s3存储桶的cloudfront发行版。为了使页面成为多语言,我添加了一个lamba @ edge函数,该函数分析Accept-Language标头并将/<page>
重定向到/en/<page>
或/de/<page>
。
重定向使用303返回码进行,以便用户获得/en/<page>
作为浏览器中显示的路径,并可以通过转到/de/<page>
来切换语言。
行!但是,如果是404,该怎么办?如果我在S3或cloudfront中配置了自定义404页面,并且用户请求/de/<non-existing-page>
,他将被重定向到自定义404页面(例如/error-pages/404
)。但是该页面未翻译!
有没有一种方法可以使404页面语言特定?取决于用户来自/en/<page>
还是/de/<page>
?
答案 0 :(得分:0)
我找到了解决方法。
ErrorDocument
配置为特定于语言的404页面PathPattern
/<language>/*
指向从s3存储桶中为语言<language>
提取的来源