想在struts2中使用urlrewrite进行URL的优化,便于搜索引擎的搜索
但是配置来配置去urlrewrite不起作用,在web.xml中的配置如下:
先是配置了EncodingFilter然后是UrlRewriteFilter接下来是struts-cleanup最后是struts2,而且在struts2中添加了<dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher>,但是urlrewrite不工作
在urlrewrite.xml中定义了这样一个规则
<rule>
  <from>/members/reg.html</from>
  <to>/reg.do</to>
</rule>
然后在地址栏中输入http://localhost:8080/members/reg.html提示找不到members/reg.html,并不是转到/reg.do,不能显示页面,而直接在地址栏中输入http://localhost:8080/reg.do就能正常显示
在工程的lib目录下已包含urlrewrite.jar,并且已将urlrewrite.xml放到了/WEB-INF/下请各位帮忙!!!!!!

解决方案 »

  1.   

    <rule> 
       <from>/members/reg.html </from> 
       <to>/reg.do </to> 
    </rule> 
      

  2.   

    可能是在web.xml中那些配置的顺序有问题,导至应用程序没有加载到urlrewrite功能,所以检查下那些配置吧.
      

  3.   

    在struts的filter-mapping中加入
    <dispatcher>REQUEST</dispatcher>   
            <dispatcher>FORWARD</dispatcher>   
            <dispatcher>INCLUDE</dispatcher>   
    这些东西, 保证可以<filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>*.do</url-pattern>
            <dispatcher>REQUEST</dispatcher>   
            <dispatcher>FORWARD</dispatcher>   
            <dispatcher>INCLUDE</dispatcher>   
        </filter-mapping>
      

  4.   

    图片和css会失效,请问知道原因嘛?
      

  5.   

    <filter-mapping>
            <filter-name>struts2 </filter-name>
            <url-pattern>*.do </url-pattern>
            <dispatcher>REQUEST </dispatcher> 
          <dispatcher>FORWARD </dispatcher> 
          <dispatcher>INCLUDE </dispatcher> 
        </filter-mapping>我试了,真的可以,谢谢楼上的~~~~~~~~~~
      

  6.   

     <dispatcher>REQUEST</dispatcher>   
      <dispatcher>FORWARD</dispatcher>   
      <dispatcher>INCLUDE</dispatcher>这个配置应该放在Struts2过滤器中