# DO NOT EDIT - This file is being maintained by Chef
  ServerName <%= @name %>
<% @aliases.each do |alias_name| -%>
  ServerAlias <%= alias_name %>
<% end -%>
  ServerAdmin webmaster@openstreetmap.org
  CustomLog /var/log/apache2/<%= @name %>-access.log combined_extended
  ErrorLog /var/log/apache2/<%= @name %>-error.log
  RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
  RedirectPermanent / https://<%= @name %>/
  ServerName <%= @name %>
<% @aliases.each do |alias_name| -%>
  ServerAlias <%= alias_name %>
<% end -%>
  ServerAdmin webmaster@openstreetmap.org
  SSLEngine on
  SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
  SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
  CustomLog /var/log/apache2/<%= @name %>-access.log combined_extended
  ErrorLog /var/log/apache2/<%= @name %>-error.log
  DocumentRoot <%= @directory %>
  AllowEncodedSlashes NoDecode
  ProxyTimeout 300
  RewriteCond %{SERVER_NAME} !=<%= @name %>
  RewriteRule ^/(.*)$ https://<%= @name %>/$1 [R=permanent]
  # Prevent abuse by an anonymous AI bot
  RewriteCond %{REQUEST_METHOD} ^(GET|HEAD)$
  RewriteCond %{REQUEST_URI} ^/w/index\.php$ [OR]
  RewriteCond %{REQUEST_URI} ^/wiki/Special: [OR]
  RewriteCond %{REQUEST_URI} ^/w/api\.php$
  RewriteCond %{HTTP_REFERER} ^-?$
  RewriteCond %{HTTP_USER_AGENT} ((CriOS|Chrome)/[1-9][0-9]?\.0\.|Chrome/100\.0\.|Chrome/122\.0\.0\.0|(Firefox|FxiOS)/[1-6]?[0-9]\.|MSIE\ [5-9]\.0|Opera/[8-9]\.|Windows\ NT\ [3-5]\.|Version/[3-5]\.[0-1]) [NC]
  RewriteRule ^ - [R=429,L]
  # Historical Compatibility Links
  RedirectMatch 301 ^/index\.php$                 /w/index.php
  RedirectMatch 301 ^/index\.php/(.*)$            /wiki/$1
  RedirectMatch 301 ^/skins/(.*)$                 /w/skins/$1
  RedirectMatch 301 ^/images/(.*)$                /w/images/$1
  RedirectMatch 301 ^/api\.php$                   /w/api.php
  RedirectMatch 301 ^/opensearch_desc\.php$       /w/opensearch_desc.php
  # Support Wikidata redirects based on Wikimedia's redirects:
  # https://github.com/wikimedia/puppet/blob/production/modules/mediawiki/files/apache/sites/wikidata-uris.incl
  RedirectMatch 301 ^/entity/statement/([QqPp]\d+).*$        /wiki/Special:EntityData/$1
  RedirectMatch 301 ^/value/(.*)$                            /wiki/Special:ListDatatypes
  RedirectMatch 301 ^/reference/(.*)$                        https://wikidata.org/wiki/Help:Sources
  RedirectMatch 301 ^/prop/direct/(.*)$                      /wiki/Property:$1
  RedirectMatch 301 ^/prop/direct-normalized/(.*)$           /wiki/Property:$1
  RedirectMatch 301 ^/prop/novalue/(.*)$                     /wiki/Property:$1
  RedirectMatch 301 ^/prop/statement/value/(.*)$             /wiki/Property:$1
  RedirectMatch 301 ^/prop/statement/value-normalized/(.*)$  /wiki/Property:$1
  RedirectMatch 301 ^/prop/qualifier/value/(.*)$             /wiki/Property:$1
  RedirectMatch 301 ^/prop/qualifier/value-normalized/(.*)$  /wiki/Property:$1
  RedirectMatch 301 ^/prop/reference/value/(.*)$             /wiki/Property:$1
  RedirectMatch 301 ^/prop/reference/value-normalized/(.*)$  /wiki/Property:$1
  RedirectMatch 301 ^/prop/statement/(.*)$                   /wiki/Property:$1
  RedirectMatch 301 ^/prop/qualifier/(.*)$                   /wiki/Property:$1
  RedirectMatch 301 ^/prop/reference/(.*)$                   /wiki/Property:$1
  RedirectMatch 301 ^/prop/(.*)$                             /wiki/Property:$1
  RedirectMatch 301 ^/entity/(.*)$                           /wiki/Special:EntityData/$1
  Alias /wiki <%= @directory %>/w/index.php
  # Support /pagename -> /wiki/pagename
  RewriteEngine on
  RewriteRule ^/$ /w/index.php?title=Main_Page [L,QSA]
  RewriteCond %{REQUEST_URI} !^/w/
  RewriteCond %{REQUEST_URI} !^/wiki/
  RewriteCond %{REQUEST_URI} !^/index\.php
  RewriteCond %{REQUEST_URI} !^/skins/
  RewriteCond %{REQUEST_URI} !^/images/
  RewriteCond %{REQUEST_URI} !^/api\.php$
  RewriteCond %{REQUEST_URI} !^/opensearch_desc\.php$
  RewriteCond %{REQUEST_URI} !^/entity/
  RewriteCond %{REQUEST_URI} !^/value/
  RewriteCond %{REQUEST_URI} !^/reference/
  RewriteCond %{REQUEST_URI} !^/prop/
  RewriteCond %{REQUEST_URI} !^/dump/
  RewriteCond %{REQUEST_URI} !^/server-status
  RewriteCond %{REQUEST_URI} !^/server-info
  RewriteCond %{REQUEST_URI} !^/.well-known/
  RewriteCond %{LA-U:REQUEST_FILENAME} !-f
  RewriteCond %{LA-U:REQUEST_FILENAME} !-d
  RewriteRule ^/(.*) /wiki/$1 [R,L]
  >
    Options -Indexes
    Require all granted
    
      SetHandler "proxy:unix:/run/php/php-<%= @name %>-fpm.sock|fcgi://127.0.0.1"
    
  
  /w/images/>
    Options -ExecCGI -Includes -Indexes
    AllowOverride None
    AddType text/plain .html .htm .shtml
<% if @private_site -%>
    Require all denied
<% end -%>
    
      SetHandler None
    
  
  /w/images/thumb/>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/page([0-9]+)-([0-9]+)px-.*$ /w/thumb.php?f=$1&page=$2&width=$3 [L,QSA,B]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/page([0-9]+)-([0-9]+)px-.*$ /w/thumb.php?f=$1&page=$2&width=$3&archived=1 [L,QSA,B]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /w/thumb.php?f=$1&width=$2 [L,QSA,B]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
  
  /w/maintenance/>
    Require all denied
  
  /w/LocalSettings.php>
    Require all denied
  
  /w/cache/>
    Options -ExecCGI -Includes -Indexes
    AllowOverride None
    AddType text/plain .html .htm .shtml
    
      SetHandler None
    
  
  /dump/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    IndexIgnore .ht* . robots.txt HEADER.html HEADER.cgi logo.png style.css
    IndexOptions FancyIndexing FoldersFirst NameWidth=* TrackModified
    IndexOrderDefault Descending Date
  
  
    Require all denied
  
  
    Require all denied
  
  
    Require all denied