使用Apache mod_proxy播放Play2。我在哪里可以纠正路线?

时间:2014-09-11 04:41:01

标签: apache playframework-2.0

我试图在Apache Web服务器后面使用Play2应用程序,所以在httpd.conf中我有这个配置

RewriteEngine On
ProxyRequests Off
ProxyPreserveHost On

ProxyPass /webschool http://localhost:9000
ProxyPassReverse /webschool http://localhost:9000
<Proxy http://localhost:9000/*>
    Order deny,allow
    allow from all
</Proxy>

我可以通过http://localhost/webschool/网址访问Play2内容,但所有资源都指向/assets/...而不是/webschool/assets/...路径。如何更正Play2路径和路径?

最好的问候。

1 个答案:

答案 0 :(得分:1)

Play无法识别子文件夹,因此请将/路径视为根目录。

使用本地(子)域而不是子文件夹(http://webschool.loc/)来获取http://webschool.loc/assets/...之类的路径,否则您需要在模板中为所有出现的前缀添加前缀以反映文件夹部分:

<html>
    <head>
        <link href="/webschool@routes.Assets.at("stylesheets/main.css")" rel="stylesheet" >
        <script src="/webschool@routes.Assets.at("javascripts/hello.js")" type="text/javascript"></script>
    </head>
    <body>
        <div>
            <a href="/webschool@routes.Application.index()">Main page...</a>
        </div>
    </body>
</html>

如果您希望/需要保留子文件夹,请更改您的Apache配置:

Redirect /webschool /webschool/
ProxyPass /webschool/ http://localhost:9000
ProxyPassReverse /webschool/ http://localhost:9000