Integrated automatic locale redirect

This commit is contained in:
Thomas Boerger 2016-12-25 16:11:44 +01:00 committed by Kim "BKC" Carlbäcker
parent 4262f09992
commit 6f2c0d1b2d
2 changed files with 43 additions and 9 deletions

View File

@ -2,13 +2,15 @@ FROM alpine:edge
EXPOSE 80 EXPOSE 80
RUN apk update && \ RUN apk update && \
apk add \ apk add wget mailcap ca-certificates && \
caddy \ rm -rf /var/cache/apk/* && \
mailcap && \ wget -O /tmp/caddy.tar.gz "https://caddyserver.com/download/build?os=linux&arch=amd64&features=locale%2Csearch" && \
rm -rf \ mkdir -p /tmp/caddy && \
/var/cache/apk/* tar xvzf /tmp/caddy.tar.gz -C /tmp/caddy && \
cp /tmp/caddy/caddy /usr/sbin/caddy && \
rm -rf /tmp/caddy*
CMD ["/usr/sbin/caddy", "-conf", "/etc/caddy/caddy.conf"] CMD ["/usr/sbin/caddy", "-conf", "/etc/caddy.conf"]
COPY docker/caddy.conf /etc/caddy/caddy.conf COPY docker/caddy.conf /etc/caddy.conf
COPY public /srv/www COPY public /srv/www

View File

@ -1,7 +1,39 @@
:80 { :80 {
root /srv/www root /srv/www
errors { locale en-US zh-CN zh-TW pt-BR nl-NL {
404 /404.html detect header
} }
redir 301 {
if {path} match ^/$
/ /{>Detected-Locale}/
}
rewrite /en-US/ {
regexp (.*)
to /en-us/{1}
}
rewrite /zh-CN/ {
regexp (.*)
to /zh-cn/{1}
}
rewrite /zh-TW/ {
regexp (.*)
to /zh-tw/{1}
}
rewrite /pt-BR/ {
regexp (.*)
to /pt-br/{1}
}
rewrite /nl-NL/ {
regexp (.*)
to /nl-nl/{1}
}
header / Vary "Accept-Language"
} }