Как настроить Play в подкаталоге за обратным прокси-сервером Apache?

У меня есть внешний интерфейс Apache 2, который обслуживает два типа запросов:

  • Запросы к корневой папке (например, http://mysite.com/ и http: //mysite.com/help) обслуживаются самим apache (PHP / Wordpress).
  • Конкретные запросы к подпапке '/ playapp' перенаправляются в Play! через обратный прокси-сервер через mod-proxy:

mod-proxy.conf

ProxyPass        /playapp/ http://localhost:9000/
ProxyPassReverse /playapp/ http://localhost:9000/

Конечным результатом является то, что запросы http://mysite.com/playapp/Controller/action достигают Play сервер как http: // localhost: 9000 / Controller / action

Теперь играем! обслуживает страницу правильно, но все ссылки, включая javascript, css и ссылки на другие страницы, не работают. Например, если представление использует:

#{stylesheet 'style.css' /}

, то результат рендеринга будет


Таким образом, конечный пользователь пытается получить http://mysite.com/public/stylesheets/style.css , который возвращает 404, потому что на самом деле это не часть игры! приложение.

Как правильно настроить Apache + Play для игры здесь?

Я ищу результат для Play! чтобы вернуть URL-адреса, подобные этому, в окончательном обработанном HTML (или, возможно, для Apache, чтобы переписать URL-адреса соответствующим образом): http://mysite.com/playapp/public/stylesheets/style.css

Кроме того, я делаю нужна возможность ссылаться за пределами приложения Play.Например, я хочу, чтобы домашний маршрут (/) был сопоставлен с моим абсолютным корнем ( http://mysite.com/ ), а не с корнем Play.

6
задан ripper234 10 January 2012 в 14:43
поделиться