设想:
- 我正在使用码头服务器。
- 我有一个正在运行的 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,内容如上