2016-08-09 95 views
1

我需要映射一个子域(这是由用户创建的,它动态地表示)到同一个登录页面,但我想打通地址栏子域的实时映射

为〔实施例的子域参数

www.xyz.koopsz.com 

www.abc.koopsz.com 

www.mno.koopsz.com 

这些URL应该重定向到登录页面与paramater XYZ或MNO等

  • 我做了什么

我想我可以在.htaccess 图吧www.koopsz.com/abc然后将如此多的effors我去知道

后重写 abc.koopsz.com

的Apache Tomcat不支持htaceess

现在我怎么能解决的Apache Tomcat这个问题我也读到了虚拟主机,但每次当用户添加我必须做出改变在server.xml中我需要它在运行时。请帮助我。

+0

我想“htaceess”只是一个打字错误而不是真正的错误信息吗? – Hulk

+0

是否有理由需要更改URL?为什么不让用户使用'www.foo.koopsz.com'访问应用程序,并为每个请求使用默认主机?您可以随时从请求中获取主机名以发现“foo”......它不需要位于主机名的开头。 –

+0

@ChristopherSchultz在www.foo.koopsz.com .. foo是由用户在运行时创建的子域 – adasdasd

回答

0

我相信你正在寻找Tomcat's rewrite valve。这里的其他问题更直接地解释了如何设置它。从Tomcat 8 URL Rewrite我们看到:在 CONF /server.xml中

<Host name="my.domain.com" appBase="webapps/MyDomainServer" unpackWARs="true" 
      autoDeploy="true" 
      xmlValidation="false" xmlNamespaceAware="false"> 
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> 
    <!-- access logging, aliases,...--> 
</Host> 

的conf /卡塔利娜/ my.domain.com/rewrite.config

RewriteCond %{REQUEST_URI} ^/(css|img|js|partials|rest|favicon).*$ 
RewriteRule ^.*$ - [L] 

RewriteRule ^.*$ /index.html [L,QSA] 

您应该大多能插入你用于重写的任何htaccess指令。

+0

我可以动态制作它吗? – adasdasd