在我的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">