You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							86 lines
						
					
					
						
							3.0 KiB
						
					
					
				| <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> | |
| 
 | |
|   <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-Download-Options | |
|     Header always set X-Download-Options "noopen" | |
| 
 | |
|     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 "none" | |
| 
 | |
|     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|svg|gif)$"> | |
|     Header set Cache-Control "max-age=15778463" | |
|   </FilesMatch> | |
| 
 | |
|   # Let browsers cache WOFF files for a week | |
|   <FilesMatch "\.woff2?$"> | |
|     Header set Cache-Control "max-age=604800" | |
|   </FilesMatch> | |
| </IfModule> | |
| <IfModule mod_php7.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_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/host-meta /public.php?service=host-meta [QSA,L] | |
|   RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L] | |
|   RewriteRule ^\.well-known/webfinger /public.php?service=webfinger [QSA,L] | |
|   RewriteRule ^\.well-known/nodeinfo /public.php?service=nodeinfo [QSA,L] | |
|   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] | |
|   RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.* | |
|   RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L] | |
| </IfModule> | |
| <IfModule mod_mime.c> | |
|   AddType image/svg+xml svg svgz | |
|   AddEncoding gzip svgz | |
| </IfModule> | |
| <IfModule mod_dir.c> | |
|   DirectoryIndex index.php index.html | |
| </IfModule> | |
| AddDefaultCharset utf-8 | |
| Options -Indexes | |
| <IfModule pagespeed_module> | |
|   ModPagespeed Off | |
| </IfModule>
 |