我试图在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路径和路径?
最好的问候。
答案 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