# Don't cache content or styles / scripts served by us.
<FilesMatch "\.(html|js|css)$">
  FileETag None
  <IfModule mod_headers.c>
     Header unset ETag
     Header set Cache-Control "no-cache"
  </IfModule>
</FilesMatch>

# Cache large files (e.g. images) for a short period of time.
<FilesMatch "\.(gif|jpg|png)$">
  FileETag None
  <IfModule mod_headers.c>
     Header unset ETag
     # 5 minutes
     Header set Cache-Control "max-age=300"
  </IfModule>
</FilesMatch>

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Redirect kudu.incubator.apache.org -> kudu.apache.org while maintaining protocol and path.
  RewriteCond "%{HTTP_HOST}" "^kudu\.incubator\.apache\.org$" [NC]
  # Server should support REQUEST_SCHEME and should be running http or https.
  RewriteCond "%{REQUEST_SCHEME}" "^http"
  RewriteRule ^/?(.*)$ %{REQUEST_SCHEME}://kudu.apache.org/$1 [R=301,L]

  # Redirect http to https
  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
