У меня есть дистрибутив Cloudfront, обслуживающий ведро s3. Чтобы сделать страницу многоязычной, я добавил функцию lamba @ edge, которая анализирует заголовок Accept-Language и перенаправляет с /<page>
на /en/<page>
или /de/<page>
.
Перенаправление происходит с кодом возврата 303, так что пользователи получают /en/<page>
в качестве пути, указанного в браузере, и могут переключать языки, переходя к /de/<page>
.
Works! Но что в случае с 404? Если я настраиваю пользовательскую страницу 404 в S3 или облачном фронте и пользователь запрашивает /de/<non-existing-page>
, он перенаправляется на пользовательскую страницу 404 (например, /error-pages/404
). Но эта страница не переведена!
Есть ли способ сделать язык страницы 404 специфичным? В зависимости от того, пришел ли пользователь из /en/<page>
или /de/<page>
?