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 RedirectPermanent /Lists-Archives https://lists.debian.org
140 RedirectPermanent /search https://search.debian.org
141 RedirectPermanent /Packages https://packages.debian.org
142 RedirectPermanent /lintian https://lintian.debian.org
144 RedirectPermanent /SPI https://www.spi-inc.org
145 # RedirectPermanent /OpenHardware http://www.openhardware.org
146 RedirectPermanent /OpenSource https://opensource.org
147 RedirectPermanent /misc/bsd.license https://opensource.org/licenses/BSD-3-Clause
149 RedirectPermanent /Bugs/db/ix/pseudopackages.html /Bugs/pseudo-packages
151 RewriteRule ^/Bugs/db/pa/l([^/]+).html$ https://bugs.debian.org/$1
152 RewriteRule ^/Bugs/db/[[:digit:]][[:digit:]]/([[:digit:]][[:digit:]][[:digit:]]+).html$ https://bugs.debian.org/$1
153 RewriteRule ^/Bugs/db/ma/l([^/]+).html$ https://bugs.debian.org/cgi-bin/pkgreport.cgi?maintenc=$1
155 <IfModule mod_userdir.c>
159 RedirectPermanent /devel/todo/ /devel/wnpp/help_requested_bypop
160 RedirectPermanent /doc/FAQ /doc/manuals/debian-faq
161 RedirectPermanent /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
162 RedirectPermanent /doc/manuals/reference /doc/manuals/debian-reference
163 RedirectPermanent /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
164 RedirectPermanent /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
165 RedirectPermanent /doc/prospective-packages /devel/wnpp/
166 RedirectPermanent /devel/maintainer_contacts /intro/organization
167 RedirectPermanent /devel/debian-installer/gtk-frontend https://wiki.debian.org/DebianInstaller/GUI
168 RedirectPermanent /zh/ /international/Chinese/
169 RedirectPermanent /chinese/ /international/Chinese/
170 RedirectPermanent /devel/help /devel/join/
171 RedirectPermanent /distrib/books /doc/books
172 RedirectPermanent /distrib/floppyinst /distrib/netinst
173 RedirectPermanent /distrib/netboot /distrib/netinst
174 RedirectPermanent /distrib/vendors /CD/vendors/
175 RedirectPermanent /distrib/cd /CD/
176 RedirectPermanent /distrib/cdinfo /CD/vendors/info
177 RedirectPermanent /related_links /misc/related_links
178 RedirectPermanent /ports/laptops /misc/laptops/
179 RedirectPermanent /misc/README.mirrors /mirror/list
180 RedirectPermanent /misc/README.non-US /mirror/list.non-US
181 RedirectPermanent /intl /international
182 RedirectPermanent /ports/armel /ports/arm
183 RedirectPermanent /ports/armhf /ports/arm
184 RedirectPermanent /ports/arm64 /ports/arm
185 RedirectPermanent /ports/mipsel /ports/mips
186 RedirectPermanent /ports/mips64el /ports/mips
187 RedirectPermanent /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
188 RedirectPermanent /ports/kfreebsd-i386 /ports/kfreebsd-gnu
189 RedirectPermanent /ports/sparc64 /ports/sparc
190 RedirectPermanent /ports/s390x /ports/s390
191 RedirectPermanent /ports/ppc64 /ports/powerpc
192 RedirectPermanent /ports/ppc64el /ports/powerpc
193 RedirectPermanent /ports/powerpcspe /ports/powerpc
194 Redirect /ports/riscv64 https://wiki.debian.org/RISC-V
195 Redirect /ports/x32 https://wiki.debian.org/X32Port
196 Redirect /ports/sh4 https://wiki.debian.org/SH4
197 RedirectPermanent /mirror/official_sponsors /mirror/sponsors
198 RedirectPermanent /mirror/official /mirror/list
199 RedirectPermanent /mirror/mirrors_full.html /mirror/list-full.html
200 RedirectPermanent /mirrors /mirror
201 RedirectPermanent /News/project /News/weekly
202 RedirectPermanent /releases/2.0 /releases/hamm
203 RedirectPermanent /releases/2.1 /releases/slink
204 RedirectPermanent /releases/2.2 /releases/potato
205 RedirectPermanent /releases/3.0 /releases/woody
206 RedirectPermanent /releases/3.1 /releases/sarge
207 RedirectPermanent /releases/4.0 /releases/etch
208 RedirectPermanent /releases/5.0 /releases/lenny
209 RedirectPermanent /releases/6.0 /releases/squeeze
210 RedirectPermanent /releases/7 /releases/wheezy
211 RedirectPermanent /releases/8 /releases/jessie
212 RedirectPermanent /releases/9 /releases/stretch
213 RedirectPermanent /releases/10 /releases/buster
214 RedirectPermanent /releases/unstable /releases/sid
215 RedirectPermanent /support/ /support
217 # Upper-case URLs were a bad idea
218 RedirectPermanent /bugs /Bugs
219 RedirectPermanent /news /News
220 RedirectPermanent /mailinglists /MailingLists
221 RedirectPermanent /cd /CD
223 RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
224 RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
225 RewriteRule ^/devel/debian-installer/hooks(.*) https://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
226 RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=302]
228 RewriteRule ^/volatile/index.* - [S=1]
229 RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
230 RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
232 # Offer a Redirect to DSA without knowing year #474730
233 RewriteMap dsa txt:<%= @wwwdo_document_root %>/security/map-dsa.txt
234 RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R=301]
236 # Compatibility after SGML -> DocBook
237 # Debian Reference #624239
238 RewriteMap reference txt:<%= @wwwdo_document_root %>/doc/map-reference.txt
239 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
240 RewriteRule ^/doc/manuals/debian-reference/ch-support(.*) /support$1 [L,R=301]
241 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
242 RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R=301]
243 RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$ /doc/manuals/debian-reference/${reference:$1} [R=301]
244 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
245 RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R=301]
246 RewriteRule ^/doc/manuals/debian-reference/ap-appendix$ /doc/manuals/debian-reference/apa [R=301]
247 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
248 RewriteRule ^/doc/manuals/debian-reference/footnotes(.+) /doc/manuals/debian-reference/index$1 [L,R=301]
249 RewriteRule ^/doc/manuals/debian-reference/footnotes$ /doc/manuals/debian-reference/ [R=301]
251 # DevRef filename changes c2016
252 RedirectMatch permanent ^(/doc/manuals/developers-reference)/scope(\.[a-z]{2})?.html $1/ch01$2.html
253 RedirectMatch permanent ^(/doc/manuals/developers-reference)/new-maintainer(\.[a-z]{2})?.html $1/ch02$2.html
254 RedirectMatch permanent ^(/doc/manuals/developers-reference)/developer-duties(\.[a-z]{2})?.html $1/ch03$2.html
255 RedirectMatch permanent ^(/doc/manuals/developers-reference)/resources(\.[a-z]{2})?.html $1/ch04$2.html
256 RedirectMatch permanent ^(/doc/manuals/developers-reference)/pkgs(\.[a-z]{2})?.html $1/ch05$2.html
257 RedirectMatch permanent ^(/doc/manuals/developers-reference)/best-pkging-practices(\.[a-z]{2})?.html $1/ch06$2.html
258 RedirectMatch permanent ^(/doc/manuals/developers-reference)/beyond-pkging(\.[a-z]{2})?.html $1/ch07$2.html
259 RedirectMatch permanent ^(/doc/manuals/developers-reference)/l10n(\.[a-z]{2})?.html $1/ch08$2.html
260 RedirectMatch permanent ^(/doc/manuals/developers-reference)/tools(\.[a-z]{2})?.html $1/apa$2.html
262 # New Maintainers' Guide
263 RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R=301]
264 RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
266 # Compatibility after Debian Policy changed to build with Sphinx (bug #877367)
267 RewriteRule ^/doc/debian-policy/footnotes.html(.*) /doc/debian-policy/ [R=301,L]
269 # Canonical place for manuals under /doc/manuals/
270 RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
271 RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R=301]
272 RewriteRule ^/doc/manuals/?$ /doc/ [L,R=301]
274 # Relocation of blends pages
275 RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R=301,L]
277 # Relocation of derivatives pages
278 RewriteRule ^/misc/children-distros(?:\.html)?$ /derivatives/ [R=301,L]
279 RewriteRule ^/misc/children-distros(\.[^\.]+(?:\.html)?)$ /derivatives/index$1 [R=301,L]
281 # Relocation of memberships information
282 RewriteRule ^/misc/memberships(?:\.html)?$ /intro/organization$1#memberships [R=301,L]
283 RewriteRule ^/misc/memberships(\.[^\.]+(?:\.html)?)$ /intro/organization$1#memberships [R=301,L]
286 <Macro common-www.d.o>
287 ServerName <%= @wwwdo_server_name %>
289 Use common-www.d.o-inner
293 <VirtualHost <%= @vhost_listen %> >
294 ErrorLog /var/log/apache2/www.debian.org-error.log
295 CustomLog /var/log/apache2/www.debian.org-access.log privacy
297 ServerName <%= @wwwdo_server_name %>
298 Redirect / https://<%= @wwwdo_server_name %>/
300 <VirtualHost <%= @vhost_listen_443 %> >
301 ErrorLog /var/log/apache2/www.debian.org-error.log
302 CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
306 Use common-debian-service-ssl <%= @wwwdo_server_name %>
309 <% if scope.function_onion_global_service_hostname([@wwwdo_server_name]) -%>
310 <VirtualHost <%= @vhost_listen %> >
311 ErrorLog /var/log/apache2/www.debian.org-error.log
312 CustomLog /var/log/apache2/www.debian.org-access.log privacy
314 ServerName <%= scope.function_onion_global_service_hostname([@wwwdo_server_name]) %>
316 Use common-www.d.o-inner
321 <%- if @redirect_vhosts -%>
324 <VirtualHost <%= @vhost_listen %> >
325 Use common-www-other.d.o
327 ErrorLog /var/log/apache2/www-other.debian.org-error.log
328 CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
330 Redirect / https://www.debian.org/
332 <VirtualHost <%= @vhost_listen_443 %> >
333 Use common-www-other.d.o
335 CustomLog /var/log/apache2/www-other-access.log privacyssl
336 ErrorLog /var/log/apache2/www-other-error.log
338 # Legacy GPG versions (including 2.2.12 in buster/Debian 10) use the "direct method" instead
339 # of the "advanced method" which should be tried first according to the draft
340 # https://tools.ietf.org/html/draft-koch-openpgp-webkey-service
342 Redirect /.well-known/openpgpkey/ https://openpgpkey.debian.org/.well-known/openpgpkey/debian.org/
344 Redirect / https://www.debian.org/
346 Use common-debian-service-ssl debian.org
350 # vim:set syn=apache: