Skip to content
This repository was archived by the owner on Dec 2, 2017. It is now read-only.

Commit 1900e90

Browse files
tboergerlunny
authored andcommitted
Integrated automatic locale redirect (#33)
1 parent 038e13f commit 1900e90

File tree

2 files changed

+43
-9
lines changed

2 files changed

+43
-9
lines changed

Dockerfile

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ FROM alpine:edge
22
EXPOSE 80
33

44
RUN apk update && \
5-
apk add \
6-
caddy \
7-
mailcap && \
8-
rm -rf \
9-
/var/cache/apk/*
5+
apk add wget mailcap ca-certificates && \
6+
rm -rf /var/cache/apk/* && \
7+
wget -O /tmp/caddy.tar.gz "https://caddyserver.com/download/build?os=linux&arch=amd64&features=locale%2Csearch" && \
8+
mkdir -p /tmp/caddy && \
9+
tar xvzf /tmp/caddy.tar.gz -C /tmp/caddy && \
10+
cp /tmp/caddy/caddy /usr/sbin/caddy && \
11+
rm -rf /tmp/caddy*
1012

11-
CMD ["/usr/sbin/caddy", "-conf", "/etc/caddy/caddy.conf"]
13+
CMD ["/usr/sbin/caddy", "-conf", "/etc/caddy.conf"]
1214

13-
COPY docker/caddy.conf /etc/caddy/caddy.conf
15+
COPY docker/caddy.conf /etc/caddy.conf
1416
COPY public /srv/www

docker/caddy.conf

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,39 @@
11
:80 {
22
root /srv/www
33

4-
errors {
5-
404 /404.html
4+
locale en-US zh-CN zh-TW pt-BR nl-NL {
5+
detect header
66
}
7+
8+
redir 301 {
9+
if {path} match ^/$
10+
/ /{>Detected-Locale}/
11+
}
12+
13+
rewrite /en-US/ {
14+
regexp (.*)
15+
to /en-us/{1}
16+
}
17+
18+
rewrite /zh-CN/ {
19+
regexp (.*)
20+
to /zh-cn/{1}
21+
}
22+
23+
rewrite /zh-TW/ {
24+
regexp (.*)
25+
to /zh-tw/{1}
26+
}
27+
28+
rewrite /pt-BR/ {
29+
regexp (.*)
30+
to /pt-br/{1}
31+
}
32+
33+
rewrite /nl-NL/ {
34+
regexp (.*)
35+
to /nl-nl/{1}
36+
}
37+
38+
header / Vary "Accept-Language"
739
}

0 commit comments

Comments
 (0)