Do not catch www.*. in the www vhost
[mirror/dsa-puppet.git] / modules / roles / templates / apache-www.debian.org.erb
1 ##
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
4 ##
5
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.
11   AddDefaultCharSet Off
12   AllowOverride AuthConfig FileInfo
13
14   # Serve icons as image/x-icon
15   AddType image/x-icon .ico
16
17   # Serve RSS feeds as application/rss+xml
18   AddType application/rss+xml .rdf
19
20   # Nice caching..
21   ExpiresActive On
22   ExpiresDefault "access plus 1 day"
23   ExpiresByType image/gif "access plus 1 week"
24   ExpiresByType image/jpeg "access plus 1 week"
25   ExpiresByType image/png "access plus 1 week"
26   ExpiresByType image/x-icon "access plus 1 week"
27
28   # FileEtag needs to be the same across mirrors (used for caching, ignore inode)
29   FileEtag MTime Size
30
31   # language stuff, for web site translations
32   # for boot-floppies docs only: sk
33   AddLanguage en .en
34   AddLanguage en-us .en-us
35   AddLanguage en-gb .en-gb
36   AddLanguage ar .ar
37   AddLanguage bg .bg
38   AddLanguage ca .ca
39   AddLanguage cs .cs
40   AddLanguage da .da
41   AddLanguage de .de
42   AddLanguage el .el
43   AddLanguage eo .eo
44   AddLanguage es .es
45   AddLanguage fi .fi
46   AddLanguage fr .fr
47   AddLanguage hr .hr
48   AddLanguage hu .hu
49   AddLanguage hy .hy
50   AddLanguage id .id
51   AddLanguage it .it
52   AddLanguage ja .ja
53   AddLanguage ko .ko
54   AddLanguage lt .lt
55   AddLanguage nl .nl
56   AddLanguage no .no
57   AddLanguage nb .nb
58   AddLanguage pl .pl
59   AddLanguage pt .pt
60   AddLanguage pt-br .pt-br
61   AddLanguage ro .ro
62   AddLanguage ru .ru
63   AddLanguage sk .sk
64   AddLanguage sl .sl
65   AddLanguage sv .sv
66   AddLanguage tr .tr
67   AddLanguage uk .uk
68   AddLanguage vi .vi
69   AddLanguage zh-CN .zh-cn
70   AddLanguage zh-HK .zh-hk
71   AddLanguage zh-TW .zh-tw
72   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
73
74   DirectoryIndex maintenance index index.html index.shtml index.htm
75
76   <Files *.html.es>
77     ForceType text/html
78   </Files>
79
80   <Files *.pdf.es>
81     ForceType application/pdf
82   </Files>
83
84   <Files *.txt.es>
85     ForceType text/plain
86   </Files>
87 </Directory>
88
89 <VirtualHost <%= vhost_listen %> >
90    ServerName debian.org
91    ServerAdmin webmaster@debian.org
92
93    ServerAlias www.at.debian.org
94    ServerAlias www.au.debian.org
95    ServerAlias www.bg.debian.org
96    ServerAlias www.br.debian.org
97    ServerAlias www.cn.debian.org
98    ServerAlias www.de.debian.org
99    ServerAlias www.es.debian.org
100    ServerAlias www.fr.debian.org
101    ServerAlias www.hk.debian.org
102    ServerAlias www.id.debian.org
103    ServerAlias www.jp.debian.org
104    ServerAlias www.nl.debian.org
105    ServerAlias www.pl.debian.org
106    ServerAlias www.ru.debian.org
107    ServerAlias www.ua.debian.org
108    ServerAlias www.uk.debian.org
109    ServerAlias www.us.debian.org
110    ServerAlias www.za.debian.org
111
112    ServerAlias www.debian.net
113    ServerAlias debian.net
114
115    ServerAlias www.debian.eu
116    ServerAlias debian.eu
117
118    ServerAlias www.debian.com
119    ServerAlias debian.com
120
121    ServerAlias debian.us
122    ServerAlias www.debian.us
123
124    ServerAlias debian.gr
125    ServerAlias www.debian.gr
126
127    ServerAlias www.debian.es
128    ServerAlias debian.es
129
130    ServerAlias www.debian.at
131    ServerAlias www.debian.de
132    ServerAlias newwww.deb.at
133
134    DocumentRoot <%= wwwdo_document_root %>/
135    ErrorLog /var/log/apache2/www-other.debian.org-error.log
136    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
137    RewriteLog /var/log/apache2/www-other.debian.org-redirect.log
138    RewriteLogLevel 1
139
140    RewriteEngine on
141    RewriteRule ^/(.*)$ http://www.debian.org/$1 [R=301,L]
142 </VirtualHost>
143
144
145
146 <Macro common-www.d.o>
147    ServerName www.debian.org
148    ServerAdmin webmaster@debian.org
149    ServerAlias www-*.debian.org
150    DocumentRoot <%= wwwdo_document_root %>/
151    ErrorLog /var/log/apache2/www.debian.org-error.log
152    CustomLog /var/log/apache2/www.debian.org-access.log privacy
153
154    # CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
155    # document that was negotiated on the basis of content. This asks proxy
156    # servers not to cache the document. Uncommenting the following line disables
157    # this behavior, and proxies will be allowed to cache the documents.
158    CacheNegotiatedDocs On
159
160 # Custom Error
161    ErrorDocument 404 /devel/website/errors/404
162    RewriteCond %{DOCUMENT_ROOT}/devel/website/errors/404.$2.html -f
163    RewriteRule ^/(?!devel/website/errors/)(.*/)?404\.(.+)\.html$ /devel/website/errors/404.$2.html [L]
164
165 # the joys of backwards compatibility
166    RedirectPermanent /cgi-bin/cvsweb http://cvs.debian.org
167    RedirectPermanent /Lists-Archives http://lists.debian.org
168    RedirectPermanent /search http://search.debian.org
169    RedirectPermanent /Packages http://packages.debian.org
170    RedirectPermanent /lintian http://lintian.debian.org
171
172    RedirectPermanent /SPI http://www.spi-inc.org
173 #   RedirectPermanent /OpenHardware http://www.openhardware.org
174    RedirectPermanent /OpenSource http://www.opensource.org
175
176    RedirectPermanent /Bugs/db/ix/pseudopackages.html /Bugs/pseudo-packages
177    RewriteEngine on
178    RewriteRule ^/Bugs/db/pa/l([^/]+).html$ http://bugs.debian.org/$1
179    RewriteRule ^/Bugs/db/[[:digit:]][[:digit:]]/([[:digit:]][[:digit:]][[:digit:]]+).html$ http://bugs.debian.org/$1
180    RewriteRule ^/Bugs/db/ma/l([^/]+).html$ http://bugs.debian.org/cgi-bin/pkgreport.cgi?maintenc=$1
181
182    <IfModule mod_userdir.c>
183       UserDir disabled
184    </IfModule>
185
186    RedirectPermanent /devel/todo/ /devel/wnpp/help_requested_bypop
187    RedirectPermanent /doc/FAQ /doc/manuals/debian-faq
188    RedirectPermanent /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
189    RedirectPermanent /doc/manuals/reference /doc/manuals/debian-reference
190    RedirectPermanent /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
191    RedirectPermanent /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
192    RedirectPermanent /doc/prospective-packages /devel/wnpp/
193    RedirectPermanent /devel/maintainer_contacts /intro/organization
194    RedirectPermanent /devel/debian-installer/gtk-frontend http://wiki.debian.org/DebianInstaller/GUI
195    RedirectPermanent /zh/ /international/Chinese/
196    RedirectPermanent /chinese/ /international/Chinese/
197    RedirectPermanent /devel/help /devel/join/
198    RedirectPermanent /distrib/books /doc/books
199    RedirectPermanent /distrib/floppyinst /distrib/netinst
200    RedirectPermanent /distrib/netboot /distrib/netinst
201    RedirectPermanent /distrib/vendors /CD/vendors/
202    RedirectPermanent /distrib/cd /CD/
203    RedirectPermanent /distrib/cdinfo /CD/vendors/info
204    RedirectPermanent /related_links /misc/related_links
205    RedirectPermanent /ports/laptops /misc/laptops/
206    RedirectPermanent /misc/README.mirrors /mirror/list
207    RedirectPermanent /misc/README.non-US /mirror/list.non-US
208    RedirectPermanent /intl /international
209    RedirectPermanent /ports/armel  /ports/arm
210    RedirectPermanent /ports/armhf  /ports/arm
211    RedirectPermanent /ports/mipsel /ports/mips
212    RedirectPermanent /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
213    RedirectPermanent /ports/kfreebsd-i386  /ports/kfreebsd-gnu
214    RedirectPermanent /ports/sparc64 /ports/sparc
215    RedirectPermanent /ports/s390x   /ports/s390
216    RedirectPermanent /mirror/mirrors_full.html /mirror/list-full.html
217    RedirectPermanent /mirrors /mirror
218    RedirectPermanent /News/project /News/weekly
219    RedirectPermanent /releases/2.0 /releases/hamm
220    RedirectPermanent /releases/2.1 /releases/slink
221    RedirectPermanent /releases/2.2 /releases/potato
222    RedirectPermanent /releases/3.0 /releases/woody
223    RedirectPermanent /releases/3.1 /releases/sarge
224    RedirectPermanent /releases/4.0 /releases/etch
225    RedirectPermanent /releases/5.0 /releases/lenny
226    RedirectPermanent /releases/6.0 /releases/squeeze
227    RedirectPermanent /releases/7 /releases/wheezy
228    RedirectPermanent /releases/8 /releases/jessie
229    RedirectPermanent /releases/unstable /releases/sid
230
231    RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
232    RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
233    RewriteRule ^/devel/debian-installer/hooks(.*) http://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
234    RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=301]
235
236    RewriteRule ^/volatile/index.* - [S=1]
237    RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
238    RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
239
240 # Offer a Redirect to DSA without knowing year #474730
241    RewriteMap dsa txt:<%= wwwdo_document_root %>/security/map-dsa.txt
242    RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R=301]
243
244 # Compatibility after SGML -> DocBook
245 # Debian Reference #624239
246    RewriteMap reference txt:<%= wwwdo_document_root %>/doc/map-reference.txt
247    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
248    RewriteRule ^/doc/manuals/debian-reference/ch-support(.*)  /support$1 [L,R=301]
249    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
250    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R=301]
251    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$    /doc/manuals/debian-reference/${reference:$1}     [R=301]
252    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
253    RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R=301]
254    RewriteRule ^/doc/manuals/debian-reference/ap-appendix$    /doc/manuals/debian-reference/apa     [R=301]
255    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
256    RewriteRule ^/doc/manuals/debian-reference/footnotes(.+)   /doc/manuals/debian-reference/index$1 [L,R=301]
257    RewriteRule ^/doc/manuals/debian-reference/footnotes$      /doc/manuals/debian-reference/          [R=301]
258 # New Maintainers' Guide
259    RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R=301]
260    RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
261
262 # Canonical place for manuals under /doc/manuals/
263    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
264    RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R=301]
265 </Macro>
266
267
268 <VirtualHost <%= vhost_listen %> >
269    Use common-www.d.o
270 </VirtualHost>
271 <VirtualHost <%= vhost_listen_443 %> >
272    Use common-www.d.o
273
274    Use common-debian-service-ssl www.debian.org
275    Use common-ssl-HSTS
276 </VirtualHost>
277
278
279 <VirtualHost <%= vhost_listen_443 %> >
280    ServerName debian.org
281    ServerAdmin webmaster@debian.org
282
283    CustomLog /var/log/apache2/www-other-access.log privacy
284    ErrorLog /var/log/apache2/www-other-error.log
285
286    Redirect permanent / https://www.debian.org/
287
288    Use common-debian-service-ssl www.debian.org
289    Use common-ssl-HSTS
290 </VirtualHost>