WordPress.org

Ready to get started?Download WordPress

Forums

W3 Total Cache
https rewrite rules problem (7 posts)

  1. saharusa
    Member
    Posted 2 years ago #

    Hope someone can help with this problem:
    My entire site is https and i'm using mfunc in every page.
    I turn on page cache (basic), first load is fine (i can see cache file being created on disk, but debug info shows:

    Cache key:      w3tc_mydomain.com_1_page_05f935faf9590a8e30d6249707373a77_ssl
    Caching:            enabled
    Status:             not cached

    On second load I get 500 internal error, same goes for every page...

    These are the .htaccess rules:

    # BEGIN W3TC Page Cache core
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteRule ^(.*\/)?w3tc_rewrite_test$ $1?w3tc_rewrite_test=1 [L]
        RewriteCond %{HTTP_USER_AGENT} (240x320|2\.0\ mmp|\bppc\b|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|proxinet|psp|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 %{HTTPS} =on
        RewriteRule .* - [E=W3TC_SSL:_ssl]
        RewriteCond %{SERVER_PORT} =443
        RewriteRule .* - [E=W3TC_SSL:_ssl]
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_HOST} =mydomain.com
        RewriteCond %{REQUEST_URI} \/$ [OR]
        RewriteCond %{REQUEST_URI} (sitemap\.xml(\.gz)?) [NC]
        RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|wp-.*\.php|index\.php|template-shop.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) [NC]
        RewriteCond %{HTTP_USER_AGENT} !(W3\ Total\ Cache/0\.9\.2\.5b) [NC]
        RewriteCond "%{DOCUMENT_ROOT}/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" -f
        RewriteRule .* "/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" [L]
        RewriteCond %{REQUEST_METHOD} !=POST
        RewriteCond %{QUERY_STRING} =""
        RewriteCond %{HTTP_HOST} =mydomain.com
        RewriteCond %{REQUEST_URI} \/$ [OR]
        RewriteCond %{REQUEST_URI} (sitemap\.xml(\.gz)?) [NC]
        RewriteCond %{REQUEST_URI} !(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|wp-.*\.php|index\.php|template-shop.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) [NC]
        RewriteCond %{HTTP_USER_AGENT} !(W3\ Total\ Cache/0\.9\.2\.5b) [NC]
        RewriteCond "%{DOCUMENT_ROOT}/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.xml%{ENV:W3TC_ENC}" -f
        RewriteRule .* "/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.xml%{ENV:W3TC_ENC}" [L]
    </IfModule>
    # END W3TC Page Cache core

    Thanks

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

  2. cozmic_
    Member
    Posted 2 years ago #

    which version are you using? I think there is no W3TC Page Cache core access rule for last version.

  3. saharusa
    Member
    Posted 2 years ago #

    This is my setup:

    Red Hat EL5 (2 servers) (APC 3.1.9 installed on each for op-code)
    Apache 2.2.3
    Php 5.3.6
    Mysql 5.1.56 (separate server)
    Memcache 2.2.5 (separate server, for sessions, db cache)

    WordPress 3.2.1 with WPML 2.3.4 & HyperDB (latest)
    W3TC 0.9.2.4 (tried also 2.9.2.5b without success)

    Because of HyperDB I renamed the db.php of W3TC to db-cache.php and changed W3TC define.php to match that change.

    Compatibility check shows everything is ok except HTML Tidy not installed but that's ok, I'm not using the Minify option, I'm doing that manually. Site is running from a sub-domain.

    And as I said, I'm using mfunc in every page of the site (header)...

    This is my W3TC Settings:
    Page Cache - Disk: Basic
    Database - Memcached
    Bowswer Cache - Enable (tried also without, nothing changed)
    CDN - Enable (Rackspace Cloud Files)

    Sorry for the long post, but this is the full picture...

  4. saharusa
    Member
    Posted 2 years ago #

    After checking the logs, this is the Fatal error I get:

    Fatal error: Call to undefined function load_css() in /var/www/html/wp-content/plugins/w3-total-cache/lib/W3/PgCache.php(1284) : eval()'d code on line 1

    load_css() is the mfunc function I'm using in the header...

    Any idea ?

  5. saharusa
    Member
    Posted 2 years ago #

    When I used WP Super Cache, I set late_init to 1 so function within function.php will work as mfunc. is there anything similar with W3 Total Cache ?

  6. saharusa
    Member
    Posted 2 years ago #

    Where can I find documentation regarding dynamic parts and W3TC (mfunc) ?

  7. Frederick Townes
    Member
    Plugin Author

    Posted 2 years ago #

    In the plugin FAQ. Remember that fragment caching runs before WP is loaded.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic