47 lines
1.3 KiB
Text
47 lines
1.3 KiB
Text
# Settings adapted from
|
|
# https://github.com/mempool/mempool/blob/v3.2.1/production/nginx/server-common.conf
|
|
|
|
# see order of nginx location rules
|
|
# https://stackoverflow.com/questions/5238377/nginx-location-priority
|
|
|
|
# for exact / requests, redirect based on $lang
|
|
# cache redirect for 5 minutes
|
|
location = / {
|
|
if ($lang != '') {
|
|
return 302 $scheme://$host/$lang/;
|
|
}
|
|
try_files /en-US/index.html =404;
|
|
expires 5m;
|
|
}
|
|
|
|
# cache /<lang>/main.f40e91d908a068a2.js forever since they never change
|
|
location ~ ^/([a-z][a-z])/(.+\..+\.(js|css))$ {
|
|
try_files $uri =404;
|
|
expires 1y;
|
|
}
|
|
# cache everything else for 5 minutes
|
|
location ~ ^/([a-z][a-z])$ {
|
|
try_files $uri /$1/index.html /en-US/index.html =404;
|
|
expires 5m;
|
|
}
|
|
location ~ ^/([a-z][a-z])/ {
|
|
try_files $uri /$1/index.html /en-US/index.html =404;
|
|
expires 5m;
|
|
}
|
|
|
|
# cache /resources/** for 1 week since they don't change often
|
|
location /resources {
|
|
try_files $uri /en-US/index.html;
|
|
expires 1w;
|
|
}
|
|
# cache /main.f40e91d908a068a2.js forever since they never change
|
|
location ~* ^/.+\..+\.(js|css)$ {
|
|
try_files /$lang/$uri /en-US/$uri =404;
|
|
expires 1y;
|
|
}
|
|
# catch-all for all URLs i.e. /address/foo /tx/foo /block/000
|
|
# cache 5 minutes since they change frequently
|
|
location / {
|
|
try_files /$lang/$uri $uri /en-US/$uri /en-US/index.html =404;
|
|
expires 5m;
|
|
}
|