Вы не можете получить доступ к CSS, так как ссылка неверна.
Согласно вашей структуре проекта, ваш css находится в: project_root/webapp/resources/style.css
, а ссылка для его доступа должна быть http://[host:port]/resources/style.css.
Вместо этого, вы набираете свой CSS URL как:
"$ {pageContext.request.contextPath}/ресурсы/Css /style.css"
, где его должно быть:
"$ {} pageContext.request.contextPath /resources/style.css"
Если вы измените этот параметр в своей ссылке css, я ставлю, что он будет возвращен, как и ожидалось.
Другое дело - удобство или не обслуживание css, js и других статических материалов прямо из Apache Httpd (или любого другого веб-сервера), а не из Tomcat. На нем есть разные оппоненты, особенно если вы предоставляете Apache APR-библиотеки Tomcat. Я лично предпочитаю это.В этом случае, после того, как вы скопировали/переместили/перенаправили через псевдоним ваши статические элементы в Apache, ваша стратегия JKMount должна быть более сложной. Это может быть один подход:
JkMount /test/* test
JkUnMount /test/resources/* test
EDIT:
Я снова ищет вашу конфигурацию, и я наконец-то понял, что проблема на самом деле RewriteRule вы используете.
На самом деле RewriteRule ^/(.*)$ /test/$1 [PT]
переписывает каждый запрос этому хосту (или виртуальному хосту), добавляя дополнительный путь /test/
к началу пути запроса.
Он работает нормально для первого запроса, так что он принимает запрос http://server.com/ и переписывает его на http://server.com/test/. После этого JKMount перенаправляет запрос на tomcat, поскольку он перенаправляет каждый mach на рабочий стол, и когда вы применяете универсальное выражение (/ *), каждый запрос перенаправляется на tomcat.
Таким образом, первый запрос делает так:
http://server.com/ > http://server.com/test/
Но любой последующий ресурс или ссылка (включая CSS ресурсов) внутри вас Tomcat приложение будет на самом деле имеют /test/
контекст правильно выставиться (по крайней мере, CSS вы пытаетесь загрузить). Таким образом, ссылка css /test/resources/css/style.css
также переписывается, и она заканчивается следующим образом: /test/test/resources/css/style.css
, который является неправильным адресом.
Теперь, чтобы избежать этого, мое предложение изменить RewriteRule, чтобы управлять только вызов корневого элемента, таким образом:
RewriteRule ^/$ /test/ [PT]
Если вы делаете это, как это, только первоначальный запрос http://server.com/ будет переписываться в http://server.com/test, и любое последующее действие ресурса, ссылки или формы, так как все ваше приложение управляется весной mvc, уже будет иметь сопоставление путей контекста в uri.
Вам следует предоставить дополнительную информацию, особенно контекст Приложение Tomcat, где находится css (он обслуживается непосредственно apache или его Также должно быть перенаправление на Tomcat?) также предоставляют файл workers.properties и всю конфигурацию mod_jk в httpd.conf или производный – jlumietu
workers.properties файл worker.list = тест worker.test.type = ajp13 работника .test.host = localhost worker.test.port = 8009 все конфигурации mod_jk находятся в httpd.conf и CSS находится в Tomcat –
Сложно указать, что происходит только с этими данными. Пожалуйста, предоставьте информацию о контексте приложения tomcat (это похоже на '/ test /'), а URL-адрес (прямой tomcat и через apache и mod_jk) одного из файлов css, который сбой – jlumietu