将静态内容从 apache 服务器提供给 tomcat

将静态内容从 apache 服务器提供给 tomcat

在我的index.html页面上<img src="static_content/asf_logo.png">,我将图像放入了Apache24/htdocs/static_content

我配置了httpd.conf可以访问localhost/basic-application-web

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkMount /basic-application-web/* worker1

我可以正常访问它,但是它不显示图像。

http://localhost/basic-application-web/static_content/asf_logo.png

返回404。如何向页面提供图像?

我试图这样做

<VirtualHost *:80>
    DocumentRoot htdocs/
    <Directory htdocs>
        Options +Indexes
        AllowOverride None
        Allow from all
    </Directory>
    JkMount /basic-application-web/* worker1
</VirtualHost>

但它什么也没改变

答案1

由于JkMount您的指令将整个/basic-application-web目录转发到 Tomcat,因此当对静态图像 URL 发出请求时,它将被转发到 Tomcat,因此您会得到 404。

您需要从 mod_jk 卸载静态内容目录,方法是在该JkMount ...行后面添加以下行:

JkUnMount /basic-application-web/static-content/* worker1

答案2

我这样解决了这个问题。httpd.conf我只留下了这些行

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties

VirtualHost过去开始像这样

<VirtualHost *:80>
    DocumentRoot "${SRVROOT}/htdocs"
    <Directory "${SRVROOT}/htdocs/static_content">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    JkMount /basic-application-web/ worker1
</VirtualHost>

另外,我通过在图像路径前html添加附加内容来调整图像路径的页面/

<img src="/static_content/asf_logo.png">

相关内容