1: double check your .htaccess file. and paste below code into it.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
2: check your database for errors and perform a db repair and table optimization
3: try changing the directory and file permissions & change them to 755, 775 or even 777 for a while. also change htaccess file permission to 777 for a short time.
4: double check the URL of post edit screen and make sure the URL looks like below.
https://yourdomain.com/wp-admin/post.php?post=1&action=edit
where post=1 is the post ID and action value must equal to edit.
5: i think you already have changed permalink structure from settings since it’s very basic thing and works for frontend but try changing them again to Numeric.
6: make sure that you have not modified any core WordPress file or filename.
7: WordPress provides an action hook named save_post which you can use to test post data for clarification. find out more here