root /opt/mediawiki-1.41.1/;

# Photo gallery
location = /fotos {
    return 302 $scheme://bitlair.nl/fotos/;
}

location ~* ^/fotos/(.*)$ {
    proxy_pass http://204.2.68.2:4567/$1$is_args$args;
}

location ~ ^/state/(.+)$ {
    alias /opt/spaceapi/assets/$1;
}

location = /events.ics {
    alias /var/lib/bitlair-calendar/events.ics;
}

location ~ ^/(cache|maintenance|vendor|extensions)/ {
    deny all;
}

# Legacy space API stuff.
location ~ ^/(putconfig|putjson|putstate|state|statejson)\.php$ {
    root "/opt/legacy/";
    fastcgi_pass unix:/run/php/php-fpm.sock;
    include fastcgi.conf;
}

location ~ ^/(bitlair.svg|bitlair_closed.png|bitlair_open.png|state|statejson)$ {
    root "/opt/legacy/";
}

location ~ ^/wp-content {
    root "/opt/legacy/";
}

location = /statejson.php {
    rewrite ^.+$ /statejson;
}

# Mediawiki
location / {
    try_files $uri $uri/ @rewrite;
}

location ~ \.php$ {
    try_files $uri @rewrite;
    fastcgi_pass unix:/run/php/php-fpm.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
}

location @rewrite {
#    rewrite ^/(.*)$ /index.php;
    rewrite ^/(.*)$ /index.php?title=$1$args;
}

location ~ \.(png|css|ico|pdf|flv|jpe?g|gif|js|css)$ {
    try_files $uri @rewrite;
    expires 1M;
}

location = /_.gif {
    expires max;
    empty_gif;
}

#location /dumps {
#    root /opt/bitlair-wiki/local;
#    autoindex on;
#}

# Legacy: redirect old prefix.
location /Pages/ {
    rewrite ^/Pages/(.*) https://$server_name/$1$args redirect;
}

# Matrix realm delegation
location = /.well-known/matrix/server {
    add_header "Content-Type" "application/json";
    add_header "Access-Control-Allow-Origin" "*";
    alias /opt/matrix-delegation.json;
}

location = /.well-known/security.txt {
    alias /opt/security.txt;
}