通过urlrewrite实现动态网站的假静态使用。

2023-05-22


使用URLRewirte:
满足搜索引擎的要求,
实现隐藏技术,提高网站的移植性能。
满足美感的要求(个人觉得这个用途太牵强了)

项目部署
第一步是http://tuckey.org/urlrewirte下载urlrewirtefilter
解压下载的文件,将urlrewrite-2.6.0.WebRoot/jar拷贝项目。WEB-INF/lib/录制下来,然后编译
3.把urlrewrite.WebRoot/项目xml拷贝。WEB-INF/目录下
4.在web.添加以下xml文件:





1. 
2. 
3. UrlRewriteFilter
4. org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
5. 
6. logLevel
7. WARN
8. 
9. 
10. 
11. UrlRewriteFilter
12. /*
13. 

需要配备urlrewrite.为了实现url静态化,xml文件将在下面详细说明。




这里已经完成了相关配置,下面看看如何将动态地址静态化。



一般url静态化



例如:把http放在一边://localhost/prjtest/user/list.jsp转化为http://localhost/prjtest/user/list.html



当一个servlet跳转到list时,这是最简单的。.当user目录列出jsp页面时,urlrewrite.这种配置在xml中:




1. 
2. ^/user/list.html
3. /user/list.jsp
4. 



当请求/user/list.在html页面上,实际上相当于请求/user/list.jsp页面



这样写servlet的跳转:



response.sendRedirect("./user/list.html");



带参数url静态化化



例如:把http放在一边://localhost/prjtest/user/view.jsp?cid=1&cname=将admin转换成



http://localhost/prjtest/user/view/1_admin.html 使用urlrewrite.这种配置在xml中:



1. 
2. ^/user/view/([0-9] )_([a-z] ).html$
3. /user/view.jsp?cid=$1&cname=$2
4. 

当请求/user/view/1_admin.在html页面上,实际上相当于请求/user/list.jsp?cid=1&cname=页面admin



这样写servlet的跳转。(cid,变量是cname):



response.sendRedirect("./user/view/" cid "_" cname ".html");



注:在环境变量中使用"&取代"&""""""



一种通用的正则表达式:[a-zA-Z0-9]


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com