2016-08-10 45 views
0

私は、次のURLを書き換えしようと、桟橋9リライト機能をテストしています:Jetty URL書き換えハンドラを設定するには?

http://localhost/rewritehttp://localhost/test.html

ここでは私の設定です:ブラウザで

<Configure id="Server" class="org.eclipse.jetty.server.Server"> 

    <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> 
     <Set name="handler"><Ref refid="oldhandler"/></Set> 
     <Set name="rewriteRequestURI"><Property name="jetty.rewrite.rewriteRequestURI" deprecated="rewrite.rewriteRequestURI" default="true"/></Set> 
     <Set name="rewritePathInfo"><Property name="jetty.rewrite.rewritePathInfo" deprecated="rewrite.rewritePathInfo" default="false"/></Set> 
     <Set name="originalPathAttribute"><Property name="jetty.rewrite.originalPathAttribute" deprecated="rewrite.originalPathAttribute" default="requestedPath"/></Set> 

     <!-- Set DispatcherTypes --> 
     <Set name="dispatcherTypes"> 
     <Array type="javax.servlet.DispatcherType"> 
      <Item><Call class="javax.servlet.DispatcherType" name="valueOf"><Arg>REQUEST</Arg></Call></Item> 
      <Item><Call class="javax.servlet.DispatcherType" name="valueOf"><Arg>ASYNC</Arg></Call></Item> 
     </Array> 
     </Set> 

     <Call name="addRule"> 
     <Arg> 
      <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> 
      <Set name="pattern">/rewrite</Set> 
      <Set name="replacement">/test.html</Set> 
      </New> 
     </Arg> 
     </Call> 
    </New> 

    ... 

</Configure> 

オープニングhttp://127.0.0.1/test.htmlは動作しますが、http://localhost/rewrite 404エラーが表示されます。
私はそれを間違って設定しましたか?

java -jar start.jar --add-to-startd=rewrite 

ではなくjetty.xmljetty-rewrite.xmlを変更します:

<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> 

<Configure id="Server" class="org.eclipse.jetty.server.Server"> 

    <!-- =========================================================== --> 
    <!-- configure rewrite handler         --> 
    <!-- =========================================================== --> 
    <Call name="insertHandler"> 
    <Arg> 
     <New class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> 
    <Set name="rewriteRequestURI"><Property name="jetty.rewrite.rewriteRequestURI" deprecated="rewrite.rewriteRequestURI" default="true"/></Set> 
    <Set name="rewritePathInfo"><Property name="jetty.rewrite.rewritePathInfo" deprecated="rewrite.rewritePathInfo" default="false"/></Set> 
    <Set name="originalPathAttribute"><Property name="jetty.rewrite.originalPathAttribute" deprecated="rewrite.originalPathAttribute" default="requestedPath"/></Set> 

    <!-- Set DispatcherTypes --> 
    <Set name="dispatcherTypes"> 
     <Array type="javax.servlet.DispatcherType"> 
     <Item><Call class="javax.servlet.DispatcherType" name="valueOf"><Arg>REQUEST</Arg></Call></Item> 
     <Item><Call class="javax.servlet.DispatcherType" name="valueOf"><Arg>ASYNC</Arg></Call></Item> 
     </Array> 
    </Set> 

     <Get id="Rewrite" name="ruleContainer"/> 

    <!-- see rewrite-compactpath.xml for example how to add a rule --> 
    <Call name="addRule"> 
     <Arg> 
      <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> 
      <Set name="pattern">/rewrite/test.html</Set> 
      <Set name="replacement">/test/test.html</Set> 
      </New> 
     </Arg> 
     </Call> 

     </New> 
    </Arg> 
    </Call> 
</Configure> 

答えて

0

は、私が実行しなければなりませんでした