2013-02-13 80 views
4

如何设置Jetty只将特定父路径转发到目录?例如,当用户请求:localhost /它应该去localhost/CorrectDirectory。任何请求,如localhost/AnotherDirectory是否正确?Jetty将特定请求转发到只有一个路径

RewriteHandler gives的文档:

<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/DirectoryTwo到localhost/CorrectDirectory/DirectoryTwo(这将是不正确的)。

回答

0

我不知道如果我得到你的问题的权利,我认为它是这样的:

我想重定向“/”,但只有“/”而不是“/成才”为“/ somedestination”

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

您可以通过使用RewriteRegexRule达到期望的结果。正则表达式“^/$”匹配字符串(^)的开头,确切路径(/)和字符串结尾($)。这确保了只有确切的路径匹配。

我正在使用jetty 9 embedded并在代码中设置我的重定向,因此我不禁要搞清楚,您如何设置“配置方式”。

相关问题