Support » Plugin: W3 Total Cache » [Plugin: W3 Total Cache] No W3TC rules in .htaccess file

  • This is probably a no brainer, but I can not see the W3TC rules in my .htaccess file. I never realized they were missing as my website has been functioning as normal, although I know I have had the rules there at some point.

    How can I retrieve them back, if that is even possible? I tried to reinstall the plugin, but nothing happened.

Viewing 15 replies - 1 through 15 (of 22 total)
  • make sure it’s the right htaccess you’re looking at. should be in your root directory.

    And check the htaccess again. on system w3tc inserts the rules all the way down the page, leaving alot of white space between existing rules.

    This website is an add-on domain, I have looked there and in the root directory but found nothing. Also, the add-on has multisite enabled. Don’t know if that would make any difference.

    Basically, I just want to redirect to www. since the redirect won’t work whenever w3tc is enabled. I have read that in order to do so, I have to place the code right above the w3tc rules.

    Any input on this? And thanks for the reply.

    Plugin Author Frederick Townes

    (@fredericktownes)

    Are you using disk enhanced page caching?

    Yes.

    Plugin Author Frederick Townes

    (@fredericktownes)

    You’ll need to put any redirect rules above any W3TC rules. You can find the directives you need for your installation by checking the install tab of the plugin.

    Thank you! It never crossed my mind to look there. I have updated the .htaccess files with the rules given but no, still I can’t get it right. This is what I did:

    Placed w3tc browser and page cache rules in /public_html/mydomain/.htaccess above these rules:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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]

    The redirect was placed above everything else;

    RewriteCond %{HTTP_HOST} !^mydomain.com$
    RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301]

    The second set of page cache and minify rules were placed in their respective files. I must have missed something along the way, but what? You can probably tell I have enabled multisite. Don’t know if that makes any difference.

    Thanks for helping me out!

    Anyone, please help? I haven’t figured this out yet. So frustrating..

    Plugin Author Frederick Townes

    (@fredericktownes)

    Can you paste your entire .htaccess file for the root of your site?

    Here it is.

    # BEGIN W3TC Browser Cache
    <IfModule mod_deflate.c>
        <IfModule mod_setenvif.c>
            BrowserMatch ^Mozilla/4 gzip-only-text/html
            BrowserMatch ^Mozilla/4\.0[678] no-gzip
            BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
            BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
        </IfModule>
        <IfModule mod_headers.c>
            Header append Vary User-Agent env=!dont-vary
        </IfModule>
        AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
    </IfModule>
    <FilesMatch "\.(css|js)$">
        FileETag None
        <IfModule mod_headers.c>
             Header set X-Powered-By "W3 Total Cache/0.9.1.3"
        </IfModule>
    </FilesMatch>
    <FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$">
        FileETag None
        <IfModule mod_headers.c>
             Header set X-Powered-By "W3 Total Cache/0.9.1.3"
        </IfModule>
    </FilesMatch>
    <FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
        FileETag None
        <IfModule mod_headers.c>
             Header set X-Powered-By "W3 Total Cache/0.9.1.3"
        </IfModule>
    </FilesMatch>
    # END W3TC Browser Cache
    
    # BEGIN W3TC Page Cache
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteCond %{HTTP_USER_AGENT} (2\.0\ mmp|240x320|alcatel|amoi|asus|au\-mic|audiovox|avantgo|benq|bird|blackberry|blazer|cdm|cellphone|danger|ddipocket|docomo|dopod|elaine/3\.0|ericsson|eudoraweb|fly|haier|hiptop|hp\.ipaq|htc|huawei|i\-mobile|iemobile|j\-phone|kddi|konka|kwc|kyocera/wx310k|lenovo|lg|lg/u990|lge\ vx|midp|midp\-2\.0|mmef20|mmp|mobilephone|mot\-v|motorola|netfront|newgen|newt|nintendo\ ds|nintendo\ wii|nitro|nokia|novarra|o2|openweb|opera\ mobi|opera\.mobi|palm|panasonic|pantech|pdxgw|pg|philips|phone|playstation\ portable|portalmmm|ppc|proxinet|psp|pt|qtek|sagem|samsung|sanyo|sch|sec|sendo|sgh|sharp|sharp\-tq\-gx10|small|smartphone|softbank|sonyericsson|sph|symbian|symbian\ os|symbianos|toshiba|treo|ts21i\-10|up\.browser|up\.link|uts|vertu|vodafone|wap|willcome|windows\ ce|windows\.ce|winwap|xda|zte) [NC]
        RewriteRule .* - [E=W3TC_UA:_low]
        RewriteCond %{HTTP_USER_AGENT} (acer\ s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|cupcake|docomo\ ht\-03a|dream|htc\ hero|htc\ magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|lg\-gw620|liquid\ build|maemo|mot\-mb200|mot\-mb300|nexus\ one|opera\ mini|samsung\-s8000|series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobile\ mytouch\ 3g|t\-mobile\ opal|tattoo|webmate|webos) [NC]
        RewriteRule .* - [E=W3TC_UA:_high]
        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 %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{REQUEST_URI} \/$
        RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|wp-.*\.php|index\.php) [NC,OR]
        RewriteCond %{REQUEST_URI} (wp-comments-popup\.php|wp-links-opml\.php|wp-locations\.php) [NC]
        RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|wordpress_\[a-f0-9\]\+|wordpress_logged_in) [NC]
        RewriteCond "/home2/twofova3/public_html/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" -f
        RewriteRule (.*) "/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" [L]
    </IfModule>
    # END W3TC Page Cache
    
    # 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]
    </IfModule>
    
    # END WordPress

    Thanks

    Any suggestions what might be wrong here, Frederick? Thanks again

    Plugin Author Frederick Townes

    (@fredericktownes)

    Well those are the directives you need, but I’m not clear on what the problem is. Is your site in network mode or not?

    Hi, thanks for your reply!

    My initial problem:

    Basically, I just want to redirect to www. since the redirect won’t work whenever w3tc is enabled. I have read that in order to do so, I have to place the code right above the w3tc rules.

    So I either disable w3tc and redirect to www. or acitvate w3tc and have no redirect no matter if the code is in the .htaccess file. They just cannot work together. At least in Firefox and Chrome the redirect wont work. In Safari it seems fine, not sure about other browsers though.

    Really frustrating. This has forced my website to live without w3tc for quite some time. :/

    Again, thank you for your effort.

    Plugin Author Frederick Townes

    (@fredericktownes)

    Lots of users had issues with the order of directives, but you should be ok if things are in the right order. I don’t see anything that should be going wrong based on the provided information, so I guess there’s another underlying issue. You can submit a bug submission form from the support tab of the plugin if you like.

    Report submitted 🙂

    I’m not sure if this is the same problem, but I’m trying to edit the htaccess file so that users are redirected to the home page if they try to access a file that does not exist. I tried adding the following line at the the top of the htaccess file, above the other directives, but it didn’t work:

    ErrorDocument 404 http://www.mydomain.com/

Viewing 15 replies - 1 through 15 (of 22 total)
  • The topic ‘[Plugin: W3 Total Cache] No W3TC rules in .htaccess file’ is closed to new replies.