The WP Codex gives two examples of excluding a subdirectory from multisite’s control.
- .htaccess method (as Karthik noted)
- Virtual host method
.htaccess
Being sure to call the sub rewrite BEFORE the rewrite of ww.domain.com to domain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} subdomain.domain.com
RewriteCond %{REQUEST_URI} !subdomain/
RewriteRule ^(.*)$ subdomain/$1 [L]
# Rewrite http://www.domain.com to domain.com
RewriteCond %{HTTP_HOST} ^www.(.*)
RewriteRule ^(.*) http://%1/$1 [R,L]
This answer to issues with this covers the hierarchical nature of .htaccess to keep in mind: https://wordpress.stackexchange.com/a/20274/118366
Virtual Host
Quoting the linked Codex page on this:
If you are able to configure your VirtualHost file this may be the best method. It provides the ability to serve the subdomain out of any directory on your server.
To do this you simply need to make sure that the domain you do not want WPMS to handle is loaded before the WPMS primary domain that uses the wildcard.