Cult
October 6, 2023, 1:00pm
31
do you have rewrite enable ? do you allow Rewrite Rules in .htaccess ? is the .htaccess loaded/accepted by apache ? can you past the line you have in .htaccess related to ocm-provider ?
is there still a folder âocm-providerâ in your nextcloud setup ?
Here is the .htaccess on the root:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav [R=301,L]
RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav [R=301,L]
RewriteRule ^\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]
RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]
RewriteRule ^ocm-provider/?$ /nextcloud/index.php [QSA,L]
</IfModule>
The other rules are working, because if I remove them I get some warnings from nextcloud.
The ocm-provider folder is no longer existing.
Cult
October 6, 2023, 1:14pm
33
can you send me (maxence@nextcloud.com ) the address of your nextcloud so I can run a curl request myself ?
CBiker
October 6, 2023, 2:29pm
34
My .htaccess is not at the top root of my domain.
Yes, your solution works too.
Both types:
RewriteRule ^\.ocm-provider/?$ /index.php [QSA,L] as well
RewriteRule ^ocm-provider/?$ /nextcloudfolder/index.php [QSA,L].
But the question is which variant makes more sense or what effect
the first variant with â\.â at the beginning?
Thank you
Same problem here. nextCloud is installed in a subfolder, ocm-provider rewrite rule is in site config. If I comment ocm-provider line in subfolder .htaccess, the warning disappears, but then of course core integrity check fails for .htaccess. Any suggestions?
I have the same problem. Nextcloud is installed in a subdirectory. The rewrite rules mentioned in this thread did not solve the problem.
CBiker:
I also have my nextcloud in a subfolder.
The ocm-provider folder does not exist for me.
I edited the .htaccess and the line:
RewriteRule ^ocm-provider/?$ /index.php [QSA,L] changed to
RewriteRule ^.ocm-provider/?$ /index.php [QSA,L].
The error disappeared immediately.
Is this the right approach?
Same problem, same fix. The problem disappeared immediately. But I am a noob and I donât know what this does. Is it a âstable solutionâ, doesnât it break something in the future?
Thanks everybody!
1 Like
Same here - for me it doesnt solve the problem too
So I got rid of the warning by modifying .htaccess and changing the line to
RewriteRule ^.ocm-provider/?$ /index.php [QSA,L]
Initially I tried putting this in my Apache config for my Nextcloud setup but for some reason any rewrite rules I put in there seem to have no affect.
eehmke
October 6, 2023, 6:59pm
40
This may work for you when you have nextcloud in a subdirectory. I use nextcloud in a subdomain like cloud.mydomain.de and when I put your change into my .htaccess the warning pops up again. It was gone with the former solution.
I updated my nextcloud instance to 27.1.2 today and also got this message. Iâm running nextcloud with nginx and my nginx config doesnât contain any âocm-providerâ. My .htacces file looks like KittyMeow stated.
haio
October 6, 2023, 8:29pm
42
My solution:
RewriteRule ^ocm-provider/?$ /index.php [QSA,L] changed to
RewriteRule ^ocm-provider/?$ /nextcloud/index.php [QSA,L]
My instance placed in a subfolder (https://example.com/nextcloud/
)
Ok, seems like this is tracked as a bug: https://github.com/nextcloud/server/issues/40803
I will wait for a solutionâŚ
ernolf
October 7, 2023, 2:14pm
44
Nginx does not make use of .htaccess files, so you have to edit it by hand anyway. If you have chosen for nginx as webserver, you should read the manual if anything had changed after each update and change it yourselfâŚ
â Old config (highlight=oc[ms]-provider) â
â New config (highlight=ocs-provider) â
In detail:
Search for this re-string:
oc[ms]-provider
in your nginx configfile and replace it by this string:
ocs-provider
reload or restart nginx
That should do it for you (and nginx users in general)
much luck!
Nope, I found and replaced the âoc[ms]-providerâ with âocs-providerâ, restarted nginx, but the message still appears.
Seems like I had some other issues in my nginx config. I replaced some sections from the new sample and now the message is gone. Thanks for the links @ernolf
1 Like
That wasnât fixing my problem at all.
So currently my webserver is behind an nginx proxy manager, who redirect to my proxmox-container.
This one works with apache and âonlyâ http (Port 80). SSL is done by NPM, so no worry.
If I try all the fixes here, nothing works. Fact is, that going to wolke.mydomain.net/index.php/ocm-provider give me the needed result. But RewriteRules for wolke.mydomain.net/ocm-provider still not work. As you see, I use a subdomain for my cloud, what worked fine with 27.1.1 so far My current .htaccess as code.
<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
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####
ErrorDocument 403 /index.php/error/403
ErrorDocument 404 /index.php/error/404
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
RewriteCond %{REQUEST_FILENAME} !\.(css|js|mjs|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4|mp3|ogg|wav|wasm|tflite)$
RewriteCond %{REQUEST_FILENAME} !/core/ajax/update\.php
RewriteCond %{REQUEST_FILENAME} !/core/img/(favicon\.ico|manifest\.json)$
RewriteCond %{REQUEST_FILENAME} !/(cron|public|remote|status)\.php
RewriteCond %{REQUEST_FILENAME} !/ocs/v(1|2)\.php
RewriteCond %{REQUEST_FILENAME} !/robots\.txt
RewriteCond %{REQUEST_FILENAME} !/(ocs-provider|updater)/
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
RewriteCond %{REQUEST_FILENAME} !/richdocumentscode(_arm64)?/proxy.php$
RewriteRule . index.php [PT,E=PATH_INFO:$1]
RewriteBase /
<IfModule mod_env.c>
SetEnv front_controller_active true
<IfModule mod_dir.c>
DirectorySlash off
</IfModule>
</IfModule>
</IfModule>
My cloud is not working in a subdir for apache, cause the default-folder is /var/www/nextcloud as root-folder. So where is the missing point for me?
Look into your apache config for this entry:
<Directory /var/www/nextcloud>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
and change it from none to All that works for me.
1 Like
Nothing fixed my problem.
My nextcloud is hosted under: nextcloud.mydomain.de
My .htaccess:
<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>
My apache config:
<VirtualHost *:80>
ServerName nextcloud.mydomain.de
Redirect / https://nextcloud.mydomain.de
ServerAdmin
DocumentRoot /var/www/nextcloud/
ErrorLog ${APACHE_LOG_DIR}/hostname.tld_error.log
CustomLog ${APACHE_LOG_DIR}/hostname.tld_access.log combined
<Directory /var/www/nextcloud/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
</VirtualHost>
If I call âhttps://nextcloud.mydomain.de/index.php/ocm-provider/ â I get a result/JSON FIle
Content from Setup.php:
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/(ocs-provider|updater)/";
akadmin
November 15, 2023, 8:16pm
50
Hat nun endlich auch bei mir geklappt, danke!