为了更好的SEO,使系统文章更多的被搜索引擎收录,对博客系统增加了URL rewrite功能。
博客采用Url Rewrite Filter 3.0.4 进行URL转发。配置如下 :
web.xml中设置 :
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
urlrewrite的转发规则:
<rule>
<note>index</note>
<from>/index</from>
<to>/index.action</to>
</rule>
<rule>
<note>category</note>
<from>/category/([0-9]+)</from>
<to>/category.action?categoryId=$1</to>
</rule>
<rule>
<note>post</note>
<from>/post/([0-9]+)</from>
<to>/post.action?postId=$1</to>
</rule>
....
这样以后访问博客URL会变成 index,category/1,post/1类似于这样的格式。