• Resolved thinkwired

    (@thinkwired)


    When I set Page Catch Method to Disk:Basic, HTTP/2 push fails for the js and css files.

    I see the error message displayed that HTTP/2 doesn’t work with when Disk = Enhanced “Not supported by “Disk: Enhanced” page cache method for Nginx” BUT, there is no such message when Disk is set to Basic. As far as I know it, should work.

    If I disable page cache altogether, HTTP/2 Push works as expected.

    Not sure why this is happening but, I am happy to provide additional details.

    • This topic was modified 3 years, 8 months ago by thinkwired.
    • This topic was modified 3 years, 8 months ago by thinkwired.
Viewing 15 replies - 1 through 15 (of 18 total)
  • Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for your inquiry and I am happy to assist you with this.
    Yes the HTTP/2 push is not supported by the “Disk: Enhanced” page cache method for Nginx.
    Can you please share your website URL and also where you see that the HTTP/2 push fails for the js and css files for Disk: Basic?
    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    Yes, I am happy to help.

    The url is https://www.cooleydickinson.org/

    When I disable page cache, the push does work as expected.

    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for your information. As I can see your website is on Apache and not nginx.
    Can you please switch to Disk: Enhanced and enable HTTP/2 push, save all settings, and purge the cache so I can check the website again?
    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    Done. Settings changed, cache flushed.

    Is there anything I can do to help diagnose on my end?

    Thank you @vmarko for looking into this. It is appreciated.

    • This reply was modified 3 years, 8 months ago by thinkwired.
    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for the information.
    Yes, I can see that the files are not pushed.
    I’ve tried to replicate the issue, however, I was unable to do so as when HTTP/2 pus is enabled for JS and CSS files in my testing they working as expected.
    Please check the screenshot and note that both Cloudflare and Stackpath are being used also.
    Can you please share which options are enabled for page cache and minify?
    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    @vmarko

    Is there a way for me to send you the exported .json settings? Email? Slack? I could also send the compatibility test results if that helps?

    If you don’t need all that info, my setup is pretty basic.

    Minfiy is enabled and set to auto mode. Method = combine & minify.

    The only options checked for Page Cache are “Cache posts page, Cache SSL (HTTPS) requests, Don’t cache pages for logged in users, and Cache alias hostnames”

    Thank you.

    • This reply was modified 3 years, 8 months ago by thinkwired.
    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for the information.
    You mentioned that you have enabled Cache alias hostnames:
    Have you added any URLs to the list?
    Does the issue persist if you disable that option?
    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    HI @vmarko

    I did not add any urls to the Cache alias hostnames list. I have no idea why that option was enabled, I assumed it was a default setting for some reason.

    I just disabled it and cleared the cache. As far as I can see, the problem still remains.

    Anything else I can do to help, please let me know!

    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for the information.
    Well, this is very strange. Are you using Multisite by any chance?
    I’ve tried to test this again and again and I was unable to replicate the issue.
    Is HTTP/2 push enabled in Performance Minify for both JS and CSS?
    Are you using any other custom rules in .htaccess or any rules that may be causing the conflict?
    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    Hi @vmarko

    I am not running multisite.

    Yes, HTTP/2 push is enabled for both JS and CSS.

    Now you have me wondering if the HTTP/2 push rules are making it into the .htaccess to begin with. What exactly should I be looking for? What rule is w3 total cache supposed to write for HTTP/2 push?

    Thank you.

    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for your question.
    In /wp-content/cache/page_enhanced/yourwebsite.com/ should be a .htaccess file with the rules similar as below:

    <IfModule mod_headers.c>
        <FilesMatch "\.html[_a-z]*$">
            Header unset Link
            Header add Link '</wp-content/cache/minify/818c0.js>; rel=preload; as=script'
    
            Header add Link '</wp-content/cache/minify/3011c.js>; rel=preload; as=script'
    
            Header add Link '</wp-content/cache/minify/06ba7.js>; rel=preload; as=script'
    
            Header add Link '</wp-content/cache/minify/797cc.js>; rel=preload; as=script'
        </FilesMatch>
    </IfModule>

    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    Hi @vmarko

    As expected, that .htaccess file does not exist on this particular website. I don’t see any obvious issues with file permissions. All of the folders look good (755).

    I’m not sure why the rule being checked is not resulting an .htaccess file being created in this folder. Do you have any ideas?

    Should I just created it manually? Will it be deleted when the cache is cleared?

    Thank you again for your time. You have been very helpful.

    Plugin Contributor Marko Vasiljevic

    (@vmarko)

    Hello @thinkwired

    Thank you for the information. Well yes, that is strange. You should also double-check what is the file permission on your server (should be 644)
    Yes, you can try manually adding the rules, just make sure to use the path of the files on your server.
    The file should not be deleted once the cache is cleared as the rules are set by the enabled option.
    Thanks!

    Thread Starter thinkwired

    (@thinkwired)

    Hi @vmarko

    I just wanted to let you know that I stumbled upon another website with this same issue. It is hosted on a completely different server AND there are other sites on this server that do NOT have the same issue. This is a really strange bug. I wish you could recreate it!

    I am now comparing the sites which use the same server and looking for differences in their configurations.

    Thread Starter thinkwired

    (@thinkwired)

    Here is the diff; https://www.diffchecker.com/kI1Fr8RX

    The one on the right works, the one on the left does not.

    I don’t see anything that jumps out at me.

Viewing 15 replies - 1 through 15 (of 18 total)
  • The topic ‘HTTP/2 push fails when Page Catch Method = Disk:Basic’ is closed to new replies.