Multisite Media Library only shows thumbnails for main site

I have a multisite. Main meida library works fine. All other site have no thumbnails in the media library. I already tried regen thumbnails. Here is teh ht access for the multisite install.
# BEGIN W3TC Page Cache core
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} =on
RewriteRule .* - [E=W3TC_SSL:_ssl]
RewriteCond %{SERVER_PORT} =443
RewriteRule .* - [E=W3TC_SSL:_ssl]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=W3TC_ENC:_gzip]
RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
RewriteRule .* - [E=W3TC_PREVIEW:_preview]
RewriteCond %{QUERY_STRING} =""
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" -f
RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}" [L]
# END W3TC Page Cache core
# BEGIN s2Member GZIP exclusions
<IfModule rewrite_module>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (^|\?|&:wink:s2member_file_download\=.+ [OR]
RewriteCond %{QUERY_STRING} (^|\?|&:wink:no-gzip\=1
RewriteRule .* - [E=no-gzip:1]
# END s2Member GZIP exclusions

RewriteCond %{HTTP_HOST} ^
RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*)$$1 [R,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
# END WordPress

  • Nithin

    Hi Thomas,

    Hope you are doing good today. :slight_smile:

    Could you please confirm what SSL certificate are you using? I'm not able to access your subsites, as I'm getting the following error: Your connection is not private.

    You'll need a Wild Card SSL in order to make it work in subdomain, if you are using a regular SSL it will only work for your main site. Probably this should resolve your issue.

    If this is not the case, please advise if I had missed out anything, so that we could give a closer look. Have a nice day. :slight_smile:

    Kind Regards,

  • Thomas

    Here is the wp-config file. Please advise on what I need to do. As I stated I have a single ssl for I don't want or need any more ssls on other domains, and I don't care if my backend is not all https. When I navigate to subsites on backend, it does exit the https and give a security warning, but that doesn't affect my visitors; so I don't care. I am wondering how this issue could be ssl? The path to the images is http for the subsites, so why wouldn't the media library show the media objects? WP-CONFIG below.


    /** Enable W3 Total Cache */

    define('WP_CACHE', true); // Added by W3 Total Cache

    * The base configurations of the WordPress.
    * This file has the following configurations: MySQL settings, Table Prefix,
    * Secret Keys, WordPress Language, and ABSPATH. You can find more information
    * by visiting {obito Editing
    * wp-config.php} Codex page. You can get the MySQL settings from your web host.
    * This file is used by the wp-config.php creation script during the
    * installation. You don't have to use the web site, you can just copy this file
    * to "wp-config.php" and fill in the values.
    * @package WordPress

    //Added by WP-Cache Manager
    //define( 'WPCACHEHOME', '/home/hpatriot/public_html/' ); //Added by WP-Cache Manager
    define('WP_MEMORY_LIMIT', '256M');

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

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

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

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

    /** 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 {obito 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', 'B}:8qui3:b$||V>=bvx-e-IoeT;IbpADS]|_E=3)>y*r~JjDgyXW% )!cCq7(Pw{');
    define('SECURE_AUTH_KEY', 'v-uMG7xB+yNj9yu?vH=ba-L/^77nL>gU=]g@El?/pM-|s=zR=T<-Ek_w Wi+6,3U');
    define('LOGGED_IN_KEY', 'M~auN,?+lEHJ1{MU@UoE23_6$P#S}dvsR O|,7Wp|:wink:8B{+m>.{P=_qN9^7yo1aC');
    define('NONCE_KEY', '#|) hSsGEodjAUM;|h0rMzW(& I{s-lO#C=kB@BqwjVAHC(.7u:{KAfDOME3R5Hh');
    define('AUTH_SALT', 'v&})7UPCI@mu=!|Mug>&,va{z<D4/$#&|9r$j<eJ:lwkg1|o#Jt)pUp]KLZpC#}h');
    define('SECURE_AUTH_SALT', 'l_+gK9--GRWb+0vbns1}xn<|AgYJq9X*GYPjy!NsF|4H_0<:wink:>Qx8Z90(0+dQ.wQ_');
    define('LOGGED_IN_SALT', 'j59RpB|d2%6jeP6 +}:disappointed:Cy?/u3]U:6qeV`fk4RI+0dtlRm9#HfS=6g-^|heJqg?');
    define('NONCE_SALT', 'ZY+jq`|Vx|gD_DqL>l+bc~VTQCnNpcxz_r812M8.}JuUY|R*D*/B87@z|p$%hBUy');


    * 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 = 'wp_';

    * WordPress Localized Language, defaults to English.
    * Change this to localize WordPress. A corresponding MO file for the chosen
    * language must be installed to wp-content/languages. For example, install
    * to wp-content/languages and set WPLANG to 'de_DE' to enable German
    * language support.
    define('WPLANG', '');

    * 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.
    define('WP_DEBUG', false);
    //define( 'WP_DEBUG_LOG', true );
    //define( 'WP_DEBUG_DISPLAY', false );

    /**define ( 'BP_ROOT_BLOG', 58 );*/
    /**define( 'BP_ENABLE_MULTIBLOG', true );**/
    /**define( 'PB_BACKUPBUDDY_MULTISITE_EXPERIMENT', true );**/

    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', true);
    $base = '/';
    define('DOMAIN_CURRENT_SITE', '');
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define( 'BLOG_ID_CURRENT_SITE', 1 );

    if ( $_SERVER["HTTP_HOST"] == "" ) {
    define('FORCE_SSL_ADMIN', true);
    define('FORCE_SSL_LOGIN', true);
    define('SUNRISE', 'on');

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

    /** 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');

  • Nithin

    Hi Thomas,

    Hope you are doing good today. :slight_smile:

    Since your website is loading in https, and the images are loading in http protocol, this could be one of the reasons for the images in media library to not load, since you have mentioned that you only want SSL to load only on primary site, could you please try the following rules in your .htaccess code located in your root directory, and check whether it helps:

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST}
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^.+\.hattiesburgpatriot\.com$
    RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

    Would like to know whether this solves the media library issue too, please do let us know how that goes, so that we could give a closer look. Have a nice day. :slight_smile:

    Kind Regards,

  • Nithin

    Hi Thomas,

    Hope you are doing good today. :slight_smile:

    Is the only solution to add Wildcard SSL? Is this a know issue with multisite?

    No, it should work without adding wildcard SSL with some rules in your htaccess file. However, the easiest solution is to add the wildcard SSL. To troubleshoot this issue further, could you please send us your credentials, so that we could give a closer look.

    You can send credentials by using our secure contact form:

    Select "I have a different question" for your topic.

    - To Mark to my attention, the subject line should contain only: ATTN: Nithin Ramdas
    -WordPress admin username
    -WordPress admin password
    -login url
    -FTP credentials (host/username/password)
    -link back to this thread for reference
    -any other relevant urls

    Have a nice weekend. :slight_smile:

    Kind Regards,

  • Nithin

    Hi Thomas,

    Thank you for sending in the credentials, the WordPress dashboard login is working, but unfortunately the FTP login doesn't work. I host name give seems to be wrong, I did try to login with the host name:, but it's pointing to an empty directory:

    Please do look into it, and advise if I'm missing out anything. You can send us the credentials, the same way as above by replying us back to the email.

    Kind Regards,

  • Rupok

    Hi Thomas,

    Thanks for sending WP Login credentials. I've logged in your site and checked in details. I've found one anomaly and probably that's causing your media gallery images not loading in your subsites.

    In your main site, media gallery image URL structure is like this:
    In your subsites, media gallery image URL structure is like this:

    But in subsites, media gallery image URL structure should be like this:

    So I think some plugin has changed the URL structure for your subsite media files and that's why those images are not being loaded. This is not for SSL issue because this image ( which is with HTTP, is not even loading.

    Can you please confirm how those subsite media library image paths are being modified? If you are not sure, can you please do a plugin conflict test just to make sure no plugin is causing this? To know more about plugin conflict test, you can check this guide:

    Please let us know how it goes. After we resolve this "image not loading" issue, we will work on your subsite non-SSL issue.

    I'm looking forward to hearing from you and resolve these issues as soon as possible.

    Have a nice day. Cheers!

  • Thomas

    I deactivated the plugins and it did not correct the issue. I was having issues with "too many redirects" but tracked that issue down to your domain mapping plugin. this particular plugin seems to have periodic issues with too many redirects.

    With regard to the thumbnail issue, you stated that the correct directory should be, but I believe this to be incorrect. Each blog on a multisite installation has a blog ID and that is where these items are stored. There is no directory for a subdomain on a multisite.

  • Nithin

    Hi Thomas,

    With regard to the thumbnail issue, you stated that the correct directory should be, but I believe this to be incorrect. Each blog on a multisite installation has a blog ID and that is where these items are stored. There is no directory for a subdomain on a multisite.

    By default when you upload images in your subsite, it's stored in it's own subsite directory located under /wp-content/uploads/sites/ folder. Each subsite will have it's own folder named after it's blog id, so for eg: as shown in the above, the /15 would be the directory for a subsite which has an id 15, and all the subsite images for that particular subsite, will be saved in that folder.

    This is how the default path in WordPress subdomain subsites should be. As pointed by Rupok, you are having a different path for you subsite images, and hence your images are not pointing correctly. This happens mostly due to a plugin conflict, or a setting.

    Since I don't see you mention about deactivating network activated plugin, could you please disable all the plugins, including network activated. And upload a new image, and check whether the image appears in your Subsite Media Library.

    Please let us know how that goes, so that we could give a closer look on your other issues, as pointed above. Have a nice day. :slight_smile:

    Kind Regards,

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.