If you installed WordPress Multisite starting with version 3.0 to 3.4.2, you’ve got the correct .htaccess
file contents.
However, if you started with a newer version (3.5 or higher)—and I’m assuming you did, if you’ve just installed WordPress Multisite recently—your .htaccess
file should look like this:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
I’m assuming you’re using Multisite in Subfolder mode, since in your question your URL is of the form example.com/site/wp-admin
. (Edit: Also I just noticed that it’s definitely Subfolder per your posted wp-config.php
file.)
See the Codex page on .htaccess
for details.