2 ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
3 ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
6 # Need to turn on negotiation_module
7 <Directory <%= @wwwdo_document_root %>/>
8 Options +MultiViews +FollowSymLinks +Indexes
9 AddHandler type-map var
10 # Make sure that the srm.conf directive is commented out.
12 AllowOverride AuthConfig FileInfo
15 # Serve icons as image/x-icon
16 AddType image/x-icon .ico
18 # Serve RSS feeds as application/rss+xml
19 AddType application/rss+xml .rdf
23 ExpiresDefault "access plus 1 day"
24 ExpiresByType image/gif "access plus 1 week"
25 ExpiresByType image/jpeg "access plus 1 week"
26 ExpiresByType image/png "access plus 1 week"
27 ExpiresByType image/x-icon "access plus 1 week"
29 # FileEtag needs to be the same across mirrors (used for caching, ignore inode)
32 # language stuff, for web site translations
33 # for boot-floppies docs only: sk
35 AddLanguage en-us .en-us
36 AddLanguage en-gb .en-gb
61 AddLanguage pt-br .pt-br
70 AddLanguage zh-CN .zh-cn
71 AddLanguage zh-HK .zh-hk
72 AddLanguage zh-TW .zh-tw
73 LanguagePriority en fr de it es ja pl hr da pt pt-br fi zh-cn zh-hk zh-tw cs sv ko no nb ru tr eo ar nl hu ro sk el ca en-us en-gb id lt sl bg uk hy vi
75 DirectoryIndex maintenance index index.html index.shtml index.htm
82 ForceType application/pdf
90 <Macro common-www-other.d.o>
92 ServerAdmin webmaster@debian.org
94 ServerAlias www.debian.net
95 ServerAlias debian.net
97 ServerAlias www.debian.eu
100 ServerAlias www.debian.nl
101 ServerAlias debian.nl
103 ServerAlias www.debian.com
104 ServerAlias debian.com
106 ServerAlias debian.us
107 ServerAlias www.debian.us
109 ServerAlias debian.gr
110 ServerAlias www.debian.gr
112 ServerAlias www.debian.es
113 ServerAlias debian.es
115 ServerAlias www.debian.at
117 DocumentRoot <%= @wwwdo_document_root %>/
118 LogFormat "0.0.0.0 - %u %{[%d/%b/%Y:00:00:00 %z]}t \"%r\" %>s %b \"%{Referer}i\" \"-\" %V" privacy+host
119 ErrorLog /var/log/apache2/www-other.debian.org-error.log
120 CustomLog /var/log/apache2/www-other.debian.org-access.log privacy+host
123 <Macro common-www.d.o-inner>
124 ServerAdmin webmaster@debian.org
125 DocumentRoot <%= @wwwdo_document_root %>/
127 # CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
128 # document that was negotiated on the basis of content. This asks proxy
129 # servers not to cache the document. Uncommenting the following line disables
130 # this behavior, and proxies will be allowed to cache the documents.
131 CacheNegotiatedDocs On
134 ErrorDocument 404 /devel/website/errors/404
135 RewriteCond %{DOCUMENT_ROOT}/devel/website/errors/404.$2.html -f
136 RewriteRule ^/(?!devel/website/errors/)(.*/)?404\.(.+)\.html$ /devel/website/errors/404.$2.html [L]
138 # the joys of backwards compatibility
139 Redirect /Lists-Archives https://lists.debian.org
140 Redirect /search https://search.debian.org
141 Redirect /Packages https://packages.debian.org
142 Redirect /lintian https://lintian.debian.org
144 Redirect /SPI https://www.spi-inc.org
145 # Redirect /OpenHardware http://www.openhardware.org
146 Redirect /OpenSource https://opensource.org
147 Redirect /Bugs/db/ix/pseudopackages.html /Bugs/pseudo-packages
149 RewriteRule ^/Bugs/db/pa/l([^/]+).html$ https://bugs.debian.org/$1
150 RewriteRule ^/Bugs/db/[[:digit:]][[:digit:]]/([[:digit:]][[:digit:]][[:digit:]]+).html$ https://bugs.debian.org/$1
151 RewriteRule ^/Bugs/db/ma/l([^/]+).html$ https://bugs.debian.org/cgi-bin/pkgreport.cgi?maintenc=$1
153 <IfModule mod_userdir.c>
157 Redirect /devel/todo/ /devel/wnpp/help_requested_bypop
158 Redirect /doc/FAQ /doc/manuals/debian-faq
159 Redirect /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
160 Redirect /doc/manuals/reference /doc/manuals/debian-reference
161 Redirect /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
162 Redirect /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
163 Redirect /doc/prospective-packages /devel/wnpp/
164 Redirect /devel/maintainer_contacts /intro/organization
165 Redirect /devel/debian-installer/gtk-frontend https://wiki.debian.org/DebianInstaller/GUI
166 Redirect /zh/ /international/Chinese/
167 Redirect /chinese/ /international/Chinese/
168 Redirect /devel/help /devel/join/
169 Redirect /distrib/books /doc/books
170 Redirect /distrib/floppyinst /distrib/netinst
171 Redirect /distrib/netboot /distrib/netinst
172 Redirect /distrib/vendors /CD/vendors/
173 Redirect /distrib/cd /CD/
174 Redirect /distrib/cdinfo /CD/vendors/info
175 Redirect /related_links /misc/related_links
176 Redirect /ports/laptops /misc/laptops/
177 Redirect /misc/README.mirrors /mirror/list
178 Redirect /misc/README.non-US /mirror/list.non-US
179 Redirect /misc/awards /News/awards
180 Redirect /misc/bsd.license https://opensource.org/licenses/BSD-3-Clause
181 Redirect /misc/laptops https://wiki.debian.org/InstallingDebianOn
182 Redirect /misc/memberships /intro/organization#memberships
183 Redirect /misc/merchandise /events/merchandise
184 Redirect /intl /international
185 Redirect /ports/armel /ports/arm
186 Redirect /ports/armhf /ports/arm
187 Redirect /ports/arm64 /ports/arm
188 Redirect /ports/mipsel /ports/mips
189 Redirect /ports/mips64el /ports/mips
190 Redirect /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
191 Redirect /ports/kfreebsd-i386 /ports/kfreebsd-gnu
192 Redirect /ports/sparc64 /ports/sparc
193 Redirect /ports/s390x /ports/s390
194 Redirect /ports/ppc64 /ports/powerpc
195 Redirect /ports/ppc64el /ports/powerpc
196 Redirect /ports/powerpcspe /ports/powerpc
197 Redirect /ports/riscv64 https://wiki.debian.org/RISC-V
198 Redirect /ports/x32 https://wiki.debian.org/X32Port
199 Redirect /ports/sh4 https://wiki.debian.org/SH4
200 Redirect /mirror/official_sponsors /mirror/sponsors
201 Redirect /mirror/official /mirror/list
202 Redirect /mirror/mirrors_full.html /mirror/list-full.html
203 Redirect /mirrors /mirror
204 Redirect /News/project /News/weekly
205 Redirect /releases/2.0 /releases/hamm
206 Redirect /releases/2.1 /releases/slink
207 Redirect /releases/2.2 /releases/potato
208 Redirect /releases/3.0 /releases/woody
209 Redirect /releases/3.1 /releases/sarge
210 Redirect /releases/4.0 /releases/etch
211 Redirect /releases/5.0 /releases/lenny
212 Redirect /releases/6.0 /releases/squeeze
213 Redirect /releases/7 /releases/wheezy
214 Redirect /releases/8 /releases/jessie
215 Redirect /releases/9 /releases/stretch
216 Redirect /releases/10 /releases/buster
217 Redirect /releases/unstable /releases/sid
218 Redirect /support/ /support
220 # Upper-case URLs were a bad idea
223 Redirect /mailinglists /MailingLists
226 RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R]
227 RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R]
228 RewriteRule ^/devel/debian-installer/hooks(.*) https://d-i.alioth.debian.org/doc/internals/apb.html [R]
229 RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R]
231 RewriteRule ^/volatile/index.* - [S=1]
232 RewriteRule ^/volatile/.+ /volatile/ [L,R]
233 RewriteRule ^/devel/debian-volatile/.* /volatile/ [R]
235 # Offer a Redirect to DSA without knowing year #474730
236 RewriteMap dsa txt:<%= @wwwdo_document_root %>/security/map-dsa.txt
237 RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R]
239 # Compatibility after SGML -> DocBook
240 # Debian Reference #624239
241 RewriteMap reference txt:<%= @wwwdo_document_root %>/doc/map-reference.txt
242 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
243 RewriteRule ^/doc/manuals/debian-reference/ch-support(.*) /support$1 [L,R]
244 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
245 RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R]
246 RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$ /doc/manuals/debian-reference/${reference:$1} [R]
247 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
248 RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R]
249 RewriteRule ^/doc/manuals/debian-reference/ap-appendix$ /doc/manuals/debian-reference/apa [R]
250 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
251 RewriteRule ^/doc/manuals/debian-reference/footnotes(.+) /doc/manuals/debian-reference/index$1 [L,R]
252 RewriteRule ^/doc/manuals/debian-reference/footnotes$ /doc/manuals/debian-reference/ [R]
254 # DevRef filename changes c2016
255 RedirectMatch ^(/doc/manuals/developers-reference)/scope(\.[a-z]{2})?.html $1/ch01$2.html
256 RedirectMatch ^(/doc/manuals/developers-reference)/new-maintainer(\.[a-z]{2})?.html $1/ch02$2.html
257 RedirectMatch ^(/doc/manuals/developers-reference)/developer-duties(\.[a-z]{2})?.html $1/ch03$2.html
258 RedirectMatch ^(/doc/manuals/developers-reference)/resources(\.[a-z]{2})?.html $1/ch04$2.html
259 RedirectMatch ^(/doc/manuals/developers-reference)/pkgs(\.[a-z]{2})?.html $1/ch05$2.html
260 RedirectMatch ^(/doc/manuals/developers-reference)/best-pkging-practices(\.[a-z]{2})?.html $1/ch06$2.html
261 RedirectMatch ^(/doc/manuals/developers-reference)/beyond-pkging(\.[a-z]{2})?.html $1/ch07$2.html
262 RedirectMatch ^(/doc/manuals/developers-reference)/l10n(\.[a-z]{2})?.html $1/ch08$2.html
263 RedirectMatch ^(/doc/manuals/developers-reference)/tools(\.[a-z]{2})?.html $1/apa$2.html
265 # New Maintainers' Guide
266 RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R]
267 RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R]
269 # Compatibility after Debian Policy changed to build with Sphinx (bug #877367)
270 RewriteRule ^/doc/debian-policy/footnotes.html(.*) /doc/debian-policy/ [R,L]
272 # Canonical place for manuals under /doc/manuals/
273 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
274 RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R]
275 RewriteRule ^/doc/manuals/?$ /doc/ [L,R]
277 # Relocation of blends pages
278 RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R,L]
280 # Relocation of derivatives pages
281 RewriteRule ^/misc/children-distros(?:\.html)?$ /derivatives/ [R,L]
282 RewriteRule ^/misc/children-distros(\.[^\.]+(?:\.html)?)$ /derivatives/index$1 [R,L]
284 # Relocation of memberships information
285 RewriteRule ^/misc/memberships(?:\.html)?$ /intro/organization$1#memberships [R,L]
286 RewriteRule ^/misc/memberships(\.[^\.]+(?:\.html)?)$ /intro/organization$1#memberships [R,L]
289 <Macro common-www.d.o>
290 ServerName <%= @wwwdo_server_name %>
292 Use common-www.d.o-inner
296 <VirtualHost <%= @vhost_listen %> >
297 ErrorLog /var/log/apache2/www.debian.org-error.log
298 CustomLog /var/log/apache2/www.debian.org-access.log privacy
300 ServerName <%= @wwwdo_server_name %>
301 Redirect / https://<%= @wwwdo_server_name %>/
303 <VirtualHost <%= @vhost_listen_443 %> >
304 ErrorLog /var/log/apache2/www.debian.org-error.log
305 CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
309 Use common-debian-service-ssl <%= @wwwdo_server_name %>
312 <% if scope.function_onion_global_service_hostname([@wwwdo_server_name]) -%>
313 <VirtualHost <%= @vhost_listen %> >
314 ErrorLog /var/log/apache2/www.debian.org-error.log
315 CustomLog /var/log/apache2/www.debian.org-access.log privacy
317 ServerName <%= scope.function_onion_global_service_hostname([@wwwdo_server_name]) %>
319 Use common-www.d.o-inner
324 <%- if @redirect_vhosts -%>
327 <VirtualHost <%= @vhost_listen %> >
328 Use common-www-other.d.o
330 ErrorLog /var/log/apache2/www-other.debian.org-error.log
331 CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
333 Redirect / https://www.debian.org/
335 <VirtualHost <%= @vhost_listen_443 %> >
336 Use common-www-other.d.o
338 CustomLog /var/log/apache2/www-other-access.log privacyssl
339 ErrorLog /var/log/apache2/www-other-error.log
341 # Legacy GPG versions (including 2.2.12 in buster/Debian 10) use the "direct method" instead
342 # of the "advanced method" which should be tried first according to the draft
343 # https://tools.ietf.org/html/draft-koch-openpgp-webkey-service
345 Redirect /.well-known/openpgpkey/ https://openpgpkey.debian.org/.well-known/openpgpkey/debian.org/
347 Redirect / https://www.debian.org/
349 Use common-debian-service-ssl debian.org
353 # vim:set syn=apache: