I can't add new plugins or themes on a wordpress multisite network from the primary site as super administrator. It shows this error: ERR_TOO_MANY_REDIRECTS. However, I am able to access all pages, login to each site's dashboard or even make changes to existing codes for installed plugins or themes. I am not able to install any new ones and the network is stuck in a loop.

However, the problem can be avoided if I turn off the multisite option using the following code in wp-config.php:

define('MULTISITE', false);
define('SUBDOMAIN_INSTALL', false);

Is there any permanent fix to this, where I do not need to disable my multisite network to add new plugins or themes?

Here is a copy of my wp-config.php (authentication/secrets have been removed for security purposes):

 * The base configuration for WordPress
 * The wp-config.php creation script uses this file during the
 * installation. You don't have to use the web site, you can
 * copy this file to "wp-config.php" and fill in the values.
 * This file contains the following configurations:
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * @link https://codex.wordpress.org/Editing_wp-config.php
 * @package WordPress

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', '' );

/** MySQL database username */
define( 'DB_USER', '' );

/** MySQL database password */
define( 'DB_PASSWORD', '' );

/** MySQL hostname */
define( 'DB_HOST', '' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

 * Authentication Unique Keys and Salts.
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 * @since 2.6.0
define( 'AUTH_KEY',         '' );
define( 'SECURE_AUTH_KEY',  '' );
define( 'LOGGED_IN_KEY',    '' );
define( 'NONCE_KEY',        '' );
define( 'AUTH_SALT',        '' );
define( 'SECURE_AUTH_SALT', '' );
define( 'LOGGED_IN_SALT',   '' );
define( 'NONCE_SALT',       '' );


 * WordPress Database Table prefix.
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
$table_prefix = '';

 * For developers: WordPress debugging mode.
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 * For information on other constants that can be used for debugging,
 * visit the Codex.
 * @link https://codex.wordpress.org/Debugging_in_WordPress
define( 'WP_DEBUG', false );
//define( 'WP_CACHE', true );
require_once( dirname( __FILE__ ) . '/gd-config.php' );
define( 'FS_METHOD', 'direct' );
define( 'FS_CHMOD_DIR', (0705 & ~ umask()) );
define( 'FS_CHMOD_FILE', (0604 & ~ umask()) );

/* Multisite */
define ('WP_ALLOW_MULTISITE', true);

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

define( 'COOKIE_DOMAIN', '' );
define( 'ADMIN_COOKIE_PATH', '/' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );

/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', dirname( __FILE__ ) . '/' );

/** Sets up WordPress vars and included files. */
require_once( ABSPATH . 'wp-settings.php' );

Here is a copy of my .htaccess:

# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# END WordPress

I have tried the following:

  1. Clearing the browsing history, cookie, cache - did not work
  2. Disabling all active plug-ins from the primary site - did not work
  3. Disabling the current theme - did not work
  4. Renaming the .htaccess file to something else - did not work

I tried running the url through the redirect-checker.org and this is the message they provided, the first url is the url that opens when I click on "Add new plugin" the second url is the url that wordpress is redirecting and gets stuck in the loop.

302 Found

200 OK

I would appreciate any your kind help and look forward to your response.


  • It should be redirecting you to http://example.com/wp-admin/network/plugin-install.php, with /network/ in the path. (And HTTPS surely?) Can you try entering that URL manually? You are logged in as a network admin user, not just a user for an individual site?
    – Rup
    Apr 14, 2020 at 7:38
  • Thanks for your comment, I have tried putting in the redirected url manually and it still gets stuck in the same error. I have not yet installed the SSL certificates, so its in http:// currently. I have also tried signing in as network admin and not just for an individual site. Apr 14, 2020 at 7:43
  • The thing with redirects is that they are hard to clear out. Make sure that you have devtools open at a minimum (and have the disable cache when devtools open option ticked). Even then I would consider testing with an incognito browser, and fully closing down all incognito browsers between tests, to be confident that you aren't getting redirected by some cached settings.
    – rtpHarry
    Apr 14, 2020 at 8:32
  • @rtpHarry thanks for the input, I was not able to solve the issue. Im not really sure what to do next. Apr 20, 2020 at 2:28
  • I encountered the same issue, I can't find solutions, did you solve it?
    – Noor Gag
    Feb 3, 2023 at 13:41

1 Answer 1


Here's the answer for you question about WordPress Multisite plugin issue, To install a plugin on a WordPress multisite, you need to visit My Sites » Network Admin » Plugins. enter link description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.