4

我将如何设置 Jetty 以仅将特定父路径转发到目录?例如,当用户请求:localhost/ 时,它应该转到 localhost/CorrectDirectory。诸如 localhost/AnotherDirectory 之类的任何请求是否正确?

RewriteHandler上的文档给出:

 <Set name="handler">
   <New id="Handlers" class="org.mortbay.jetty.handler.RewriteHandler">
     <Set name="rewriteRequestURI">false</Set>
     <Set name="rewritePathInfo">false</Set>
     <Set name="originalPathAttribute">requestedPath</Set>
     <Call name="addRewriteRule"><Arg>/other/*</Arg><Arg>/test</Arg></Call>
     <Call name="addRewriteRule"><Arg>/test/*</Arg><Arg></Arg></Call>
     <Call name="addRewriteRule"><Arg>/*</Arg><Arg>/test</Arg></Call>
     <Set name="handler">

从它的外观来看,如果我尝试为 localhost/ 设置重写规则,我必须命名每个子目录,以防止直接从 localhost/DirectoryTwo 到 localhost/CorrectDirectory/DirectoryTwo (这是不正确的)。

4

1 回答 1

0

我不确定我的问题是否正确,我认为它是这样的:

我想重定向“/”但只有“/”而不是“/someting”到“/somedestination”

看看这个答案: https ://stackoverflow.com/a/25405898/3489108

您可以通过使用 RewriteRegexRule 来实现所需的结果。正则表达式“^/$”匹配字符串的开头 (^)、确切的路径 (/) 和字符串的结尾 ($)。这确保了只有准确的路径被匹配。

我正在使用 jetty 9 嵌入并在代码中设置我的重定向,所以我无法帮助弄清楚你如何设置它“配置方式”。

于 2014-08-20T14:02:20.000 回答