.htaccess file is a bit dodgy.
Mine was set to 660, which is all enough, and it should be writable by wordpress.
Then suddenly, it became not. I couldn’t update .htaccess file through wordpress nor cpanel. After save, it just went back to the original in cpanel, and wordpress says it’s not writable.
So I deleted that file, then created another one. Same 660. This time everything works again.