Grails 知道有关子域(即 subdomain.domain.com)的任何信息吗?我没有看到它在manual http://grails.org/doc/2.0.x/guide/single.html。这纯粹是应用程序服务器/网络服务器问题吗?可以静态或动态地绑定到 grails 控制器吗?
Java Web 应用程序访问哪个主机并不重要。
-
假设您在一台主机上分离有多个客户端,例如customer1.yourhost.com、customer2.yourhost.com 等,所有客户端都将具有相同的功能。
在我建议的最简单的情况下,您只需编写一个过滤器,它总是会放置一些请求变量,如下所示:
def filters = {
all(controller:'*', action:'*') {
before = {
if (request.serverName.contains(".")) {
def clientName =
request.serverName.substring(0, request.serverName.indexOf("."))
request.currentClient = Client.findByClientName(clientName) // e.g.
}
}
}
}
然后你可以在任何地方检查request.currentClient
为当前访问的子域。
但是,如果事情变得更复杂,请查看一些 grails 的多租户插件。
如果您想为每个子域提供不同的功能,例如help.yourhost.com 和 www.yourhost.com,我建议您编写独立的 grails 应用程序。然后,您设置 NGINX 服务器以将这些请求重定向到应用程序服务器上运行的适当应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)