summaryrefslogtreecommitdiffstats
path: root/.htaccess
blob: fda56750aaea918203e6ddb84a3cefd1c0c5f085 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Don't allow people to retrieve non-cgi executable files or our private data
<FilesMatch (\.pm|\.pl|\.tmpl|\.swf|localconfig.*)$>
  deny from all
</FilesMatch>
<IfModule mod_expires.c>
<IfModule mod_headers.c>
<IfModule mod_env.c>
  <FilesMatch (\.js|\.css)$>
    ExpiresActive On
    # According to RFC 2616, "1 year in the future" means "never expire".
    # We change the name of the file's URL whenever its modification date
    # changes, so browsers can cache any individual JS or CSS URL forever.
    # However, since all JS and CSS URLs involve a ? in them (for the changing
    # name) we have to explicitly set an Expires header or browsers won't
    # *ever* cache them.
    ExpiresDefault "now plus 1 years"
    Header append Cache-Control "public"
  </FilesMatch>

  # This lets Bugzilla know that we are properly sending Cache-Control
  # and Expires headers for CSS and JS files.
  SetEnv BZ_CACHE_CONTROL 1
</IfModule>
</IfModule>
</IfModule>

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/javascript application/json application/javascript
</IfModule>

AddType image/x-icon .ico
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html

Redirect permanent /queryhelp.cgi https://bugzilla.mozilla.org/query.cgi?format=advanced&help=1
Redirect permanent /bug_status.html https://bugzilla.mozilla.org/page.cgi?id=fields.html
Redirect permanent /bugwritinghelp.html https://bugzilla.mozilla.org/page.cgi?id=bug-writing.html
Redirect permanent /etiquette.html https://bugzilla.mozilla.org/page.cgi?id=etiquette.html
Redirect permanent /duplicates.html https://bugzilla.mozilla.org/duplicates.cgi

RewriteEngine On
RewriteRule ^review(.*) page.cgi?id=splinter.html$1 [QSA]
RewriteRule ^user_?profile(.*) page.cgi?id=user_profile.html$1 [QSA]
RewriteRule ^favicon\.ico$ extensions/BMO/web/images/favicon.ico
RewriteRule ^form[\.:](itrequest|mozlist|poweredby|presentation|trademark|recoverykey)$ enter_bug.cgi?product=mozilla.org&format=$1
RewriteRule ^form[\.:]legal$ enter_bug.cgi?product=Legal&format=legal
RewriteRule ^form[\.:]mozpr$ enter_bug.cgi?product=Mozilla+PR&format=mozpr
RewriteRule ^form[\.:]reps[\.:]mentorship$ enter_bug.cgi?product=Mozilla+Reps&format=mozreps
RewriteRule ^form[\.:]reps[\.:]budget$ enter_bug.cgi?product=Mozilla+Reps&format=remo-budget
RewriteRule ^form[\.:]reps[\.:]swag$ enter_bug.cgi?product=Mozilla+Reps&format=remo-swag
RewriteRule ^form[\.:]reps[\.:]payment$ page.cgi?id=remo-form-payment.html
RewriteRule ^form[\.:]employee[\.\-:]incident$ enter_bug.cgi?product=mozilla.org&format=employee-incident
RewriteRule ^form[\.:]brownbag$ https://air.mozilla.org/requests
RewriteRule ^form[\.:]finance$ enter_bug.cgi?product=Finance&format=finance
RewriteRule ^form[\.:]privacy[\.\-:]data$ enter_bug.cgi?product=Privacy&format=privacy-data
RewriteRule ^form[\.:]moz[\.\-:]project[\.\-:]review$ enter_bug.cgi?product=mozilla.org&format=moz-project-review
RewriteRule ^form[\.:]docs?$ enter_bug.cgi?product=Developer+Documentation&format=doc [QSA]
RewriteRule ^form[\.:]mdn?$ enter_bug.cgi?product=Mozilla+Developer+Network&format=mdn
RewriteRule ^form[\.:](swag|gear)$ enter_bug.cgi?product=mozilla.org&format=swag
RewriteRule ^form[\.:](b2g|fxos)[\.:](partner|betaprogram) enter_bug.cgi?product=Boot2Gecko&format=fxos-$2 [QSA]
RewriteRule ^form[\.:]ipp$ enter_bug.cgi?product=Internet+Public+Policy&format=ipp
RewriteRule ^form[\.:]creative$ enter_bug.cgi?product=Marketing&format=creative
RewriteRule ^form[\.:]mobile[\.:]compat$ enter_bug.cgi?product=Tech+Evangelism&format=mobile-compat
RewriteRule ^rest/(.*)$ rest.cgi/$1 [NE]