背景:
项目中网站前后台是分开的两个项目,之前使用了apache做反向代理和静态代理,后台项目上传的图片都保存在apache下面,前台系统页面通过apache能直接拿到。新用户安装环境只有weblogic,前后台程序部署上去后发现后台上传的图片前台访问不到了。
解决办法:
1. 后台程序将图片保存在D\:\\cq\\files_cq_pub目录下。
2. 在前台程序的weblogic.xml中使用virtual-directory-mapping虚拟目录标记,将所有包含files_cq_pub的静态资源请求都访问D:/cq/files_cq_pub目录下的资源,这样问题就解决了。配置如下
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"> <context-root>/</context-root> <virtual-directory-mapping> <local-path>D:/cq</local-path> <url-pattern>/files_cq_pub/*</url-pattern> </virtual-directory-mapping> </weblogic-web-app>