rain13 Posted August 6 Share Posted August 6 Hi! I want use NextCloud as a backup and I want to prevent accidental deletes. Since this software itself does not offer good ways of preventing delete I want to use .htaccess for that. So I added these 2 lines to my .htaccess: RewriteCond %{REQUEST_METHOD} DELETE RewriteRule ^.* - [F,L,R=403] And from R=403 I would expect 403 returned to DELETE request. but I get 404 instead? What do I do wrong? The rest of the file is NextCloud's default: <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 %{REQUEST_METHOD} DELETE RewriteRule ^.* - [F,L,R=403] 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> # Clients like xDavv5 on Android, or Cyberduck, use chunked requests. # When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content. # This leads to the creation of empty files. # The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud. # This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud. # Here are more information about the issue: # - https://docs.cyberduck.io/mountainduck/issues/fastcgi/ # - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav <IfModule mod_setenvif.c> # SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1 </IfModule> AddDefaultCharset utf-8 # Options -Indexes #### DO NOT CHANGE ANYTHING ABOVE THIS LINE #### ErrorDocument 403 /files/index.php/error/403 ErrorDocument 404 /files/index.php/error/404 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now