Назад | Перейти на главную страницу

обслуживать статический контент с сервера 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>

Но это ничего не изменило

Решил проблему вот так. В 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">

Поскольку JkMount директива пересылает всю /basic-application-web каталог в Tomcat, при запросе URL-адреса статического изображения он будет перенаправлен в Tomcat, таким образом вы получите 404.

Вам необходимо отключить каталог статического содержимого от mod_jk, добавив следующую строку после JkMount ... линия:

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