WordPress.org

Ready to get started?Download WordPress

Forums

[Plugin: W3 Total Cache] Mystery of Disappearing Files on WPMU (7 posts)

  1. robertstaddon
    Member
    Posted 4 years ago #

    I'm using WPMU. As soon as I activated the W3 Total Cache plugin, I suddenly could not access any large files from my web browser (i.e. MP3, FLV, podcasts, etc.) that had been uploaded into my wp-content/files/* folders.

    For example:
    http://www.danielstaddon.com/wp-content/files/audio/the-noticer-ch1.mp3
    http://www.danielstaddon.com/wp-content/files/audio/unitedwestanddavidsunday.mp3

    As soon as I deactivate the plugin, I can access all of these media files from my web browser with no problem. (i.e. the above links will then download the audio file as one would expect). This is really weird! The funny thing is that smaller media files (like <15MB) download fine whether or not this plugin is activated.

    For example:
    http://www.danielstaddon.com/wp-content/files/audio/fl20091109.mp3

    If I have the W3 Total Cache plugin activated and I disable all caching functionality, things still do not work. I have to actually deactivate the W3 Total Cache plugin on the WordPress Plugins page before I can again access any large files in the wp-content/files/* folders through my web browser.

    This is a fresh out-of-the-box WPMU installation on a MediaTemple Shared Server using a MySQL Grid Container. There are no other plugins installed.

    Any help or ideas would be really appreciated!

    Here's my .htaccess file:

    RewriteEngine On
    RewriteBase /
    
    # BEGIN W3 Total Cache
    <IfModule mod_setenvif.c>
        SetEnvIfNoCase Host ^(www\.)?([a-z0-9\-\.]+\.[a-z]+)\.?(:[0-9]+)?$ DOMAIN=$2
        SetEnvIfNoCase Accept-Encoding (gzip) APPEND_EXT=.$1
    </IfModule>
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_URI} \/$
        RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register).php|wp-.*\.php|index\.php) [OR]
        RewriteCond %{REQUEST_URI} (wp-comments-popup\.php|wp-links-opml\.php|wp-locations\.php) [NC]
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|wordpress_\[a-f0-9\]\+|wordpress_logged_in) [NC]
        RewriteCond %{HTTP_USER_AGENT} !(bot|ia_archive|slurp|crawl|spider) [NC]
        RewriteCond /nfs/c01/h06/mnt/2191/domains/danielstaddon.com/html/wp-content/w3tc-%{ENV:DOMAIN}/pgcache/$1/_default_.html%{ENV:APPEND_EXT} -f
        RewriteRule (.*) wp-content/w3tc-%{ENV:DOMAIN}/pgcache/$1/_default_.html%{ENV:APPEND_EXT} [L]
    </IfModule>
    # END W3 Total Cache
    
    #uploaded files
    RewriteRule ^(.*/)?files/$ index.php [L]
    RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
    RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
    
    # add a trailing slash to /wp-admin
    RewriteCond %{REQUEST_URI} ^.*/wp-admin$
    RewriteRule ^(.+)$ $1/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L]
    RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
    RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]
    
    AddHandler php5-script .php

    http://wordpress.org/extend/plugins/w3-total-cache/

  2. Frederick Townes
    Member
    Posted 4 years ago #

    So when W3TC is active large files have 404 errors?

  3. robertstaddon
    Member
    Posted 4 years ago #

    It's not really a 404 error. If I FTP into my server and remove the file completely, I get the "file not found" message.

    When W3TC is active, a web browser will find large files but can only download 0kb of them. Try to download the two top example files above and you'll see what I mean. If the W3TC plugin is deactivated, you would be able to download them entirely.

    Here's how to consistently replicate the problem:
    - Install WordPressMU
    - Install and activate W3TC
    - FTP upload a large file (>20MB) into wp-content/blogs.dir/1/files/ or any subdirectory
    - Try to access that file via a web browser

  4. robertstaddon
    Member
    Posted 4 years ago #

    fredericktownes, would you recommend that I post this question on the WordPressMU forums instead of here? It is true that it only applies to a WordPressMU installation.

  5. Frederick Townes
    Member
    Posted 4 years ago #

    No. What are the errors in your apache error log?

  6. rogerben
    Member
    Posted 4 years ago #

    Just to add to this, I'm experiencing the same thing. With W3TC activated on WPMU/Buddypress, any attempt to access (for example) an uploaded MP3 fails.

    Looking at the headers returned during the request, it's a 500 rather than a 404, and the content length is always 0 bytes. It doesn't seem to be an htaccess issue, either, because this behavior is evident whether or not W3TC's htaccess additions are present. Deactivating W3TC, on the other hand, instantly fixes it.

    Interesting note: I'm no Apache guru, so maybe this is normal, but I don't see any trace of the 500 error in either the PHP or Apache error logs. It does show up in Apache's access log, though.

  7. Frederick Townes
    Member
    Posted 4 years ago #

    This issue is resolved in the next release.

Topic Closed

This topic has been closed to new replies.

About this Topic