1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <IfModule mod_headers.c>
- <IfModule mod_setenvif.c>
- <IfModule mod_fcgid.c>
- SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
- RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
- </IfModule>
- <IfModule mod_proxy_fcgi.c>
- SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
- </IfModule>
- <IfModule mod_lsapi.c>
- SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
- RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
- </IfModule>
- </IfModule>
- <IfModule mod_env.c>
- # Add security and privacy related headers
- # Avoid doubled headers by unsetting headers in "onsuccess" table,
- # then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
- Header onsuccess unset Referrer-Policy
- Header always set Referrer-Policy "no-referrer"
- Header onsuccess unset X-Content-Type-Options
- Header always set X-Content-Type-Options "nosniff"
- Header onsuccess unset X-Frame-Options
- Header always set X-Frame-Options "SAMEORIGIN"
- Header onsuccess unset X-Permitted-Cross-Domain-Policies
- Header always set X-Permitted-Cross-Domain-Policies "none"
- Header onsuccess unset X-Robots-Tag
- Header always set X-Robots-Tag "noindex, nofollow"
- Header onsuccess unset X-XSS-Protection
- Header always set X-XSS-Protection "1; mode=block"
- SetEnv modHeadersAvailable true
- </IfModule>
- # Add cache control for static resources
- <FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite)$">
- <If "%{QUERY_STRING} =~ /(^|&)v=/">
- Header set Cache-Control "max-age=15778463, immutable"
- </If>
- <Else>
- Header set Cache-Control "max-age=15778463"
- </Else>
- </FilesMatch>
- # Let browsers cache WOFF files for a week
- <FilesMatch "\.woff2?$">
- Header set Cache-Control "max-age=604800"
- </FilesMatch>
- </IfModule>
- <IfModule mod_php.c>
- php_value mbstring.func_overload 0
- php_value default_charset 'UTF-8'
- php_value output_buffering 0
- <IfModule mod_env.c>
- SetEnv htaccessWorking true
- </IfModule>
- </IfModule>
- <IfModule mod_mime.c>
- AddType image/svg+xml svg svgz
- AddType application/wasm wasm
- AddEncoding gzip svgz
- # Serve ESM javascript files (.mjs) with correct mime type
- AddType text/javascript js mjs
- </IfModule>
- <IfModule mod_dir.c>
- DirectoryIndex index.php index.html
- </IfModule>
- <IfModule pagespeed_module>
- ModPagespeed Off
- </IfModule>
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{HTTP_USER_AGENT} DavClnt
- RewriteRule ^$ /remote.php/webdav/ [L,R=302]
- RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
- RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
- RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
- RewriteRule ^remote/(.*) remote.php [QSA,L]
- RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
- RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
- RewriteRule ^ocm-provider/?$ index.php [QSA,L]
- RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
- </IfModule>
- AddDefaultCharset utf-8
- Options -Indexes
|