Check your htaccess file, which might be causing problems. Mine looks like this (it forces SSL and adds the www part if needed):
#force everything to https
RewriteEngine On
RewriteCond %{HTTP_HOST} (?!^www\.)^(.+)$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]
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]
You might also consider what you changed lately. Perhaps a new plugin, or some code in your (child) theme. Revert to one of the 'twenty' themes to check theme problems. Rename the plugins folder temporarily to remove possible plugin problems.
Finally, check the wp_options tables for the correct site URL. There's lots of them in there (one for each sub-site), but the first one on the list might be the one for the main site.