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 /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 RedirectPermanent /devel/todo/ /devel/wnpp/help_requested_bypop
158 RedirectPermanent /doc/FAQ /doc/manuals/debian-faq
159 RedirectPermanent /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
160 RedirectPermanent /doc/manuals/reference /doc/manuals/debian-reference
161 RedirectPermanent /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
162 RedirectPermanent /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
163 RedirectPermanent /doc/prospective-packages /devel/wnpp/
164 RedirectPermanent /devel/maintainer_contacts /intro/organization
165 RedirectPermanent /devel/debian-installer/gtk-frontend https://wiki.debian.org/DebianInstaller/GUI
166 RedirectPermanent /zh/ /international/Chinese/
167 RedirectPermanent /chinese/ /international/Chinese/
168 RedirectPermanent /devel/help /devel/join/
169 RedirectPermanent /distrib/books /doc/books
170 RedirectPermanent /distrib/floppyinst /distrib/netinst
171 RedirectPermanent /distrib/netboot /distrib/netinst
172 RedirectPermanent /distrib/vendors /CD/vendors/
173 RedirectPermanent /distrib/cd /CD/
174 RedirectPermanent /distrib/cdinfo /CD/vendors/info
175 RedirectPermanent /related_links /misc/related_links
176 RedirectPermanent /ports/laptops /misc/laptops/
177 RedirectPermanent /misc/README.mirrors /mirror/list
178 RedirectPermanent /misc/README.non-US /mirror/list.non-US
179 RedirectPermanent /misc/awards /News/awards
180 RedirectPermanent /misc/bsd.license https://opensource.org/licenses/BSD-3-Clause
181 RedirectPermanent /misc/laptops https://wiki.debian.org/InstallingDebianOn
182 RedirectPermanent /misc/memberships /intro/organization#memberships
183 RedirectPermanent /misc/merchandise /events/merchandise
184 RedirectPermanent /intl /international
185 RedirectPermanent /ports/armel /ports/arm
186 RedirectPermanent /ports/armhf /ports/arm
187 RedirectPermanent /ports/arm64 /ports/arm
188 RedirectPermanent /ports/mipsel /ports/mips
189 RedirectPermanent /ports/mips64el /ports/mips
190 RedirectPermanent /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
191 RedirectPermanent /ports/kfreebsd-i386 /ports/kfreebsd-gnu
192 RedirectPermanent /ports/sparc64 /ports/sparc
193 RedirectPermanent /ports/s390x /ports/s390
194 RedirectPermanent /ports/ppc64 /ports/powerpc
195 RedirectPermanent /ports/ppc64el /ports/powerpc
196 RedirectPermanent /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 RedirectPermanent /mirror/official_sponsors /mirror/sponsors
201 RedirectPermanent /mirror/official /mirror/list
202 RedirectPermanent /mirror/mirrors_full.html /mirror/list-full.html
203 RedirectPermanent /mirrors /mirror
204 RedirectPermanent /News/project /News/weekly
205 RedirectPermanent /releases/2.0 /releases/hamm
206 RedirectPermanent /releases/2.1 /releases/slink
207 RedirectPermanent /releases/2.2 /releases/potato
208 RedirectPermanent /releases/3.0 /releases/woody
209 RedirectPermanent /releases/3.1 /releases/sarge
210 RedirectPermanent /releases/4.0 /releases/etch
211 RedirectPermanent /releases/5.0 /releases/lenny
212 RedirectPermanent /releases/6.0 /releases/squeeze
213 RedirectPermanent /releases/7 /releases/wheezy
214 RedirectPermanent /releases/8 /releases/jessie
215 RedirectPermanent /releases/9 /releases/stretch
216 RedirectPermanent /releases/10 /releases/buster
217 RedirectPermanent /releases/unstable /releases/sid
218 RedirectPermanent /support/ /support
220 # Upper-case URLs were a bad idea
221 RedirectPermanent /bugs /Bugs
222 RedirectPermanent /news /News
223 RedirectPermanent /mailinglists /MailingLists
224 RedirectPermanent /cd /CD
226 RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
227 RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
228 RewriteRule ^/devel/debian-installer/hooks(.*) https://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
229 RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=302]
231 RewriteRule ^/volatile/index.* - [S=1]
232 RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
233 RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
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=301]
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=301]
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=301]
246 RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$ /doc/manuals/debian-reference/${reference:$1} [R=301]
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=301]
249 RewriteRule ^/doc/manuals/debian-reference/ap-appendix$ /doc/manuals/debian-reference/apa [R=301]
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=301]
252 RewriteRule ^/doc/manuals/debian-reference/footnotes$ /doc/manuals/debian-reference/ [R=301]
254 # DevRef filename changes c2016
255 RedirectMatch permanent ^(/doc/manuals/developers-reference)/scope(\.[a-z]{2})?.html $1/ch01$2.html
256 RedirectMatch permanent ^(/doc/manuals/developers-reference)/new-maintainer(\.[a-z]{2})?.html $1/ch02$2.html
257 RedirectMatch permanent ^(/doc/manuals/developers-reference)/developer-duties(\.[a-z]{2})?.html $1/ch03$2.html
258 RedirectMatch permanent ^(/doc/manuals/developers-reference)/resources(\.[a-z]{2})?.html $1/ch04$2.html
259 RedirectMatch permanent ^(/doc/manuals/developers-reference)/pkgs(\.[a-z]{2})?.html $1/ch05$2.html
260 RedirectMatch permanent ^(/doc/manuals/developers-reference)/best-pkging-practices(\.[a-z]{2})?.html $1/ch06$2.html
261 RedirectMatch permanent ^(/doc/manuals/developers-reference)/beyond-pkging(\.[a-z]{2})?.html $1/ch07$2.html
262 RedirectMatch permanent ^(/doc/manuals/developers-reference)/l10n(\.[a-z]{2})?.html $1/ch08$2.html
263 RedirectMatch permanent ^(/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=301]
267 RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
269 # Compatibility after Debian Policy changed to build with Sphinx (bug #877367)
270 RewriteRule ^/doc/debian-policy/footnotes.html(.*) /doc/debian-policy/ [R=301,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=301]
275 RewriteRule ^/doc/manuals/?$ /doc/ [L,R=301]
277 # Relocation of blends pages
278 RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R=301,L]
280 # Relocation of derivatives pages
281 RewriteRule ^/misc/children-distros(?:\.html)?$ /derivatives/ [R=301,L]
282 RewriteRule ^/misc/children-distros(\.[^\.]+(?:\.html)?)$ /derivatives/index$1 [R=301,L]
284 # Relocation of memberships information
285 RewriteRule ^/misc/memberships(?:\.html)?$ /intro/organization$1#memberships [R=301,L]
286 RewriteRule ^/misc/memberships(\.[^\.]+(?:\.html)?)$ /intro/organization$1#memberships [R=301,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: