ServerName app.sixfold.org
RedirectPermanent / https://app.sixfold.org/
ServerName app.sixfold.org
ServerAdmin sixfold@sixfold.org
DocumentRoot /srv/app.sixfold.org/www
ErrorLog ${APACHE_LOG_DIR}/app.sixfold.org-error.log
CustomLog ${APACHE_LOG_DIR}/app.sixfold.org-access.log combined
ErrorDocument 404 /errors/404
ErrorDocument 503 /errors/503
# Disable .htaccess files
AllowOverride none
# Disable unneeded options
Options none
# Allow access to www/
Require all granted
# Pass HTTP Authorization headers to PHP-FPM
CGIPassAuth on
# PHP-FPM configuration
# See https://serverfault.com/questions/450628/apache-2-4-php-fpm-proxypassmatch/510784
# Required for FPM to receive POST data sent with Transfer-Encoding: chunked
SetEnv proxy-sendcl 1
# Forward all PHP requests to the php-fpm pool for this domain.
SetHandler "proxy:unix:/run/php/app.dev.sixfold.org.sock|fcgi://app.dev.sixfold.org"
Header set Cache-Control "no-store"
# Set some proxy properties.
ProxySet connectiontimeout=5 timeout=240
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule .* - [R=404,L]
# Received: /filename.php and /filename.php exists in filesystem; Result: 301 redirect to /filename and restart request
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -f
RewriteRule ^/(.+)\.php$ /$1 [R=301,L]
# Received: /filename and /filename.php exists in filesystem; Result: change /filename to /filename.php and continue processing
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-d
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI}.php -f
RewriteRule ^(.+)$ $1.php [QSA]
# Received: /filename and /filename.xml exists in filesystem; Result: rewrite to /filename.xml
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.xml -f
RewriteRule (.*) $1.xml
# Received: /filename and /filename.xhtml exists in filesystem; Result: rewrite to /filename.xhtml
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.xhtml -f
RewriteRule (.*) $1.xhtml
# Redirect index pages
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}/index.php -f
RewriteRule (.*) $1/index.php
# Remove trailing slashes
RewriteRule ^/(.+?)/$ /$1 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}/index.xml -f
RewriteRule (.*) $1/index.xml
RewriteCond %{QUERY_STRING} hash=([a-z0-9]+) [NC]
RewriteRule ^/docs /docs/%1? [L,R=301]
# Sixfold rewrites
RewriteRule ^/games/([0-9]+)$ /games/game.php?game=$1
RewriteRule ^/games/([0-9]+)/feedback$ /games/feedback.php?game=$1
RewriteRule ^/games/([0-9]+)/results$ /games/results.php?game=$1
RewriteRule ^/games/([0-9]+)/submit$ /games/submit.php?game=$1
RewriteRule ^/games/([0-9]+)/update$ /games/update.php?game=$1
RewriteRule ^/doc/([a-z0-9]+)$ /docs/$1 [L,R=301]
RewriteRule ^/docs/([a-z0-9]+)$ /docs/index.php?hash=$1 [L,QSA]
RewriteRule ^/members/([^\.]+?)$ /members/member.php?handle=$1 [L]
# PayPal order processing rewrites
RewriteRule /api/orders$ /games/process-order.php
RewriteRule /api/orders/(.*)/capture$ /games/process-order.php
SSLCertificateFile /etc/letsencrypt/live/app.sixfold.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/app.sixfold.org/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf