I followed many tutorial about leveraging browser caching nevertheless I couldn't configure it succesfully, in fact GTmetric (PageSpeed and YSlow) notified me many static file that don't have a cache expire header. That's my GTmetrix result (pagespeed):

enter image description here

I tried to find the problem looking at compatibility test on W3TC and it notified me many Apache modules missed which are required for browser caching:

enter image description here

I followed some tutorial to enable these modules but it seems they are alread enabled, in fact they are already uncommented on my /opt/bitnami/apache2/conf/httpd.conf

This is my .htaccess

Thanks in advance for your assistance

1 Answer 1


I have the same configuration as you and I too have run into this problem.

Assuming that you have got the modules enabled (see below), I think you can safely ignore the results of this part of the compatibility test.

W3 Total Cache reports missing modules because mod_php is disabled by Bitnami due to their view that it is not secure.

From the Bitnami AWS documentation

During installation, W3 Total Cache may display an error stating that some Apache modules are not detected on the server, when they are in fact installed. This error is a known bug in the W3 Total Cache plugin and may be safely ignored.

This references a Plesk article

W3 Total Cache cannot read the state of an apache module if the website is not run with mod_php on a apache server. mod_php is disabled in Plesk by default because it is not secure (mod_php is outdated).

So just make sure you have uncommented all the required modules in /opt/bitnami/apache2/conf/httpd.conf. I used the list that W3TC says was "missing" as a reference for what I needed to uncomment.

Then restart your server to let the changes take affect: sudo /opt/bitnami/ctlscript.sh restart

In case it helps someone else, I was also confused as to why changes I made to the "Browser Cache" settings in W3TC didn't seem to have any affect. Specifically changing the "Expires header lifetime" under "Media & Other Files" didn't result in any change to the value that I'd see when examining the headers of the object in the browser.

I think this may be due to W3TC expecting to be able to modify the .htaccess file to put these values into operation, but instead bitnami uses a single htaccess.conf file

Bitnami stacks recollect all the htaccess information in a single file, /opt/bitnami/apps/wordpress/conf/htaccess.conf in your case and the AllowOverride option is set to None. Therefore, please add what you modified at /opt/bitnami/apps/wordpress/htdocs/.htaccess to that file and then, restart Apache.

In otherwords, you need to manually change the values in /opt/bitnami/apps/wordpress/conf/htaccess.conf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.