Você parece ter destruído o front-controller do WordPress, portanto, as solicitações para /wp-admin
e /wp-json
não serão roteadas corretamente (por isso, as 404s que você está vendo).
Você deve deixar as diretivas do WP como estavam, mas implemente um redirecionamento adicional no início do arquivo. Por exemplo:
# Redirect all requests for non-existent files and those not for wp-admin or wp-json
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-json
RewriteRule ^ / [R=301,L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Observe que, como no código original, a solicitação é redirecionada apenas ao solicitar um arquivo inexistente, mesmo que esse arquivo esteja fora do espaço de URL /wp-admin
e /wp-json
. (Presumivelmente isso é necessário para que CSS, JS, imagens e quaisquer outros recursos estáticos ainda sejam exibidos corretamente.)