- Create an extension called staticmedia with a new class named ApacheMediaUrlStrategy that implements MediaURLStrategy interface. By default Hybris uses a base-64 encoded context request parameter that will not work properly in Apache. The ApacheMediaUrlStrategy uses a folder stategy so that apache can directly point to that directory. The below code in the class returns back //hostName/static/media/ in witch mediaHostUrl is an instance variable in ApacheMediaUrlStrategy class that contains hostName/static/media
return new StringBuilder(mediaHostUrl.length() + location.length() + 3).append("//").append(mediaHostUrl).append('/').append(location).toString();- Add configuration properties to the local.properties to specify the mediaHostUrlwith an appropriate URL that points to you media serving apache layer and change the mediaurlstrategy
media.apachemedia.url=media.folder.images.url.strategy=apacheMediaURLStrategy |
- Add the new strategy to the staticmedia-spring.xml file
xsi:schemaLocation="http://www.springframework.org/schema/beans <bean id="apacheMediaURLStrategy" class="com.package.staticmedia.media.url.impl.ApacheMediaUrlStrategy"> <property name="mediaHostUrl" value="#{configurationService.configuration.getProperty('media.apachemedia.url')}" /> </bean></beans> |
- Create ysynch to copy the image contents to the media.apachemedia.url
- Modify httpd.conf file to hanlde the media url inside the VirtualDirectory with 7 days of cache expiry for images and 10 minutes for the _ui directory
SetEnvIf Request_URI "^/images/*" no-jk Alias /images /opt/hybris/media/sys_master/images "/opt/hybris/media/sys_master/images">Options Indexes FollowSymLinks MultiViews
AllowOverride None Order allow,deny Allow from all Header append Cache-Control public,max-age=604800
SetEnvIf Request_URI "^/_ui/*" no-jk Alias /_ui /opt/hybris/storefront/web/webroot/_ui "/opt/hybris/storefront/web/webroot/_ui"> Options FollowSymLinks MultiViews Indexes AllowOverride None Order allow,deny Allow from all Header append Cache-Control public,max-age=600Reference
Hybris Wiki Static Contents from Apache
Wiki Versioned Static content
No comments:
Post a Comment