Issue
- How can I overwrite the Cache-Control header settings for resources that are served via the /documents/ path? We have tried updating the lifery-web.xml to add a servlet filter for that url-pattern, but the changes are not being applied.
Environment
- Liferay DXP 7.0
Resolution
- This can occur if the following property is set:
-
com.liferay.portal.servlet.filters.header.HeaderFilter=false
-
- This configuration, set by default in the portal-developer.properties file, disables the Header Filter, which causes the system to not read changes that were set in liferay-web.xml. If you disable using the portal-developer.properties file or set the property equal to true, it will allow the Cache-Control header to be overwritten according to what's set in the liferay-web.xml file
Additional Information
- By default, Liferay disables cache for all documents and images in its document library and sets "Cache-Control: private"
- Once the Header Filter is no longer disabled, the following filter mapping can be added to the liferay-web.xml file found in /webapps/ROOT/WEB-INF/ to set a Cache-control value:
<filter-mapping>
<filter-name>Header Filter</filter-name>
<url-pattern>/documents/*</url-pattern>
</filter-mapping> - How to modify the Cache-Control header to prevent browser caching issues
Subscriber Exclusive Content
A Liferay Enterprise Subscription provides access to over 1,500 articles that include best practices, troubleshooting, and other valuable solutions. Sign in for full access.
Sign In