如何设置Jetty只将特定的父路径转发到目录?例如,当用户请求:localhost /它应该转到localhost / CorrectDirectory。诸如localhost / AnotherDirectory之类的请求是否正确?
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 /重写规则,我必须命名每个子目录,以防止直接从localhost / DirectoryTwo到localhost / CorrectDirectory / DirectoryTwo(这是不正确的) )。
答案 0 :(得分:0)
我不确定我是否对你提出了问题,我认为它类似于:
我想重定向“/”但只是“/”而不是“/ someting”重定向到“/ somedestination”
看看这个答案: https://stackoverflow.com/a/25405898/3489108
您可以使用RewriteRegexRule实现所需的结果。正则表达式“^ / $”匹配字符串的开头(^),确切的路径(/)和字符串的结尾($)。这可以确保只匹配精确路径。
我正在使用jetty 9嵌入式并在代码中设置我的重定向,所以我无法帮助搞清楚,如何设置它“配置方式”。