具有多个域指向一个父一个子文件夹中的Web应用程序(Web app with multiple do

2019-10-29 11:17发布

我正在开发使用Spring启动,其中一个域名下运行的应用程序,让我们说;

parentdomain.com

从一个侧面用户输入他们的内容,登录,在parentdomain.com/admin后。 此内容被处理,并在子文件夹对外公开,​​让我们说;

parentdomain.com/user-one-content
parentdomain.com/user-two-content and so on.

我需要为每个用户域名指向自己的文件夹 ,例如:

userone.com should be equivalent to parentdomain.com/user-one-content

导航应该留在userone.com网站。

userone.com/first-page应该打开parentdomain.com/user-one-content/first-page。

现在,应用程序安装在PWS(枢纽Web服务),但它们的路由系统,并没有提供解决方案,以这种方法,具有多个域指向一个父一个子文件夹。

我怎么会存档此功能?

Answer 1:

我会独自离开春天启动,并放在一个Web服务器在它的前面。 你可以安装Apache或Nginx的? 域/子域重新路由出他们两个盒子。



Answer 2:

最后我可以存档,得益于建议gspatel

与PWS的生根系统,或其它的IaaS云提供商我可以根每个域到整个应用程序。

实施HandleInterceptor的preHandle方法,我检查请求是否从我的域来( parentdomain.com中的例子)。 或者如果它是从网站的网域,该应用程序是服务( userone.com中的例子)。 在这种情况下,我控制不访问parentdomain.com,或者其他用户的内容,将请求转发到用户主页( user-one-content中的例子)。

这是一个提取物我preHadle实施,:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

      ...

      String URI = request.getRequestURI();
      String rootURI = "/" + idweb + "/";

      if(URI.equals("/") || !URI.startsWith(rootURI)){ 
          URI = rootURI;

          RequestDispatcher requestDispatcher = request.getRequestDispatcher(request.getContextPath() + URI);
          requestDispatcher.forward(request, response);

        }

    return true;
}


文章来源: Web app with multiple domains pointing to subfolders of a parent one