Jetty:如何重定向基本网址?

Jetty:如何重定向基本网址?

设想:

  1. 我正在使用码头服务器。
  2. 我有一个正在运行的 Web 应用程序:myip/myWebApp

问题:如何将基本网址重定向到基本网址/其他内容

即。-- http://190.23.30.1/>http://190.23.30.1/mywebapp

因此当用户点击http://190.23.30.1/我的服务器将重定向到http://190.23.30.1/myWebApp

答案1

Jetty 有一个重写处理程序可以使用

$ java -jar start.jar --add-to-start=rewrite`

按照文档中给出的示例,您可以在 xml 文件中添加一条规则:

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Ref refid="Rewrite">
    <Call name="addRule">
      <Arg>
        <New class="org.eclipse.jetty.rewrite.handler.RedirectPatternRule">
          <Set name="pattern" type="String"></Set>
          <Set name="location">/myWebApp/</Set>
        </New>
      </Arg>
    </Call>
  </Ref>
</Configure>

嵌入式 Jetty 配置文件的等效内容为:

Server server = new Server();
RewriteHandler rewrite = new RewriteHandler();

RedirectPatternRule redirect = new RedirectPatternRule();
redirect.setPattern("/");
redirect.setReplacement("/myWebApp/");
rewrite.addRule(redirect);

答案2

可能有一种基于配置的方法来做到这一点,但一个快速而粗糙的解决方案是创建一个重定向到所需 URL 的索引页。

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>MyWebApp</title>
        <meta http-equiv="refresh" content="0;URL='/mywebapp'" />
    </head>
    <body>
    </body>
</html>
  • 在 jetty 中创建一个“根”目录:mkdir /webapps/root
  • 在 /webapps/root/ 中创建一个 index.html,内容如上

相关内容