У меня есть сервер apache, который находится перед моим сервером Glassfish. mydomain.com переходит непосредственно к моим статическим файлам на apache, чем если вы попадаете на поддомен forum.mydomain.com, он переходит на форум webapp glassfish / по адресу 127.0.0.1:8080/forum/. Этот прокси-сервер, кажется, работает, он переводит меня в веб-приложение, но все изображения отсутствуют! Вот как я настраиваю свой виртуальный хост.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias subdomain.mydomain.com mydomain.com
DocumentRoot "/usr/local/apache/htdocs"
</VirtualHost>
<VirtualHost *:80>
ServerName forum.mydomain.com
# any logging config, etc, that you need
ProxyPass / http://127.0.0.1:8080/forum/
ProxyPassReverse / http://127.0.0.1:8080/forum/
</VirtualHost>
И в журнале доступа это то, что я вижу.
[15/Jan/2012:03:28:02 +0000] "GET /forums/list.page HTTP/1.1" 200 12861
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/logo.jpg HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/styles/style.css?1326582403934 HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_recentTopics.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_search.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_members.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/styles/en_US.css?1326582403934 HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_groups.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder_big.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_login.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/whosonline.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/icon_mini_register.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/ping_session.jsp HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder_lock.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder.gif HTTP/1.1" 404 1075
[15/Jan/2012:03:28:02 +0000] "GET /forum/templates/default/images/folder_new.gif HTTP/1.1" 404 1075
Любые идеи, почему изображения не работают?
Код для форума имеет /forum/
путь жестко задан в HTML-коде, который он отправляет клиенту, или иным образом определен где-то в его конфигурации. Если вы можете изменить его на /
, Сделай так; в противном случае вы можете обойти это в своей конфигурации Apache:
<VirtualHost *:80>
ServerName forum.mydomain.com
ProxyPass /forum/ http://127.0.0.1:8080/forum/
ProxyPassReverse /forum/ http://127.0.0.1:8080/forum/
ProxyPass / http://127.0.0.1:8080/forum/
ProxyPassReverse / http://127.0.0.1:8080/forum/
</VirtualHost>
Вы можете исправить это, разместив механизм перезаписи на виртуальном хосте.
RewriteEngine on
RewriteRule ^/forum/(images|javascripts|stylesheets)(.*) /forum/$1$2
Для получения дополнительной информации см. Вот для перезаписывающего движка
Основываясь на ответе @Mughil, я создал ниже, чтобы помочь мне использовать его для всех сайтов.
RewriteEngine on
RewriteRule ^/(.*)/(images|javascripts|stylesheets)(.*) /$1/$2$3