Sugo

Goof off ? no way: never
posts - 20, comments - 8, trackbacks - 73, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

URL重写

Posted on 2007-03-22 14:11 sugo 阅读(2257) 评论(3)  编辑  收藏
     访问某论坛时,发现论坛全是html页面。今天搞明白了,原来是重写了页面的url。通俗的说就是虽然地址栏里的是html结尾的url,但实际上访问的是后台动态jsp(php、asp)页面。好像是一种视觉欺骗。
     实现这个技术也很容易,一般都会使用国外的一个urlrewriter过滤器。
     1、下载:
     下载地址为http://tuckey.org/urlrewrite/#download
     2、解压和基本配置
     使用的为2.6版本,解压后,包中含有一个urlrewrite.xml,此为关键的配置文件。还有lib文件夹下的urlrewrite-2.6.0.jar这个包。将此包放到web应用程序的web-inf/lib下面,urlrewrite.xml放到web-inf下。
     3、修改应用程序web-inf文件夹下的web.xml文件,添加如下内容:
      <filter>
             <filter-name>UrlRewriteFilter</filter-name>
             <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
      </filter>
      <filter-mapping>
             <filter-name>UrlRewriteFilter</filter-name>
             <url-pattern>/*</url-pattern>
      </filter-mapping>
     4、修改应用程序web-inf文件夹下的urlrewrite.xml文件,添加rule,内容如下:
        <rule>
           <name>html rule</name>
           <from>/test/thread([0-9]+)_([0-9]+).html</from>
           <to>/show.jsp?id=$1&amp;order=$2</to>
       </rule>
         其中要求对正则表达式有所了解,以上的语句可以实现当你访问http://localhost/test/thread12_56.html时,会转向http://localhost/show.jsp?id=12&order=56这个动态页面。
         个人觉得需要开发人员对页面参数非常熟悉。这个技术还是值得大家来尝试一下的。个人论坛可以使用此技术:),让别人看不出你是使用什么编写的。

评论

# re: URL重写  回复  更多评论   

2008-06-25 19:12 by virons
这种实现就是一个搬起石头砸自己的脚的做法。
从服务器的性能和高效来说,研究转换静态页面更有意义一些

# re: URL重写  回复  更多评论   

2008-09-24 21:17 by Struts 2爱好者
同意

# re: URL重写  回复  更多评论   

2008-12-19 15:05 by 星期五
同意,
生成静态页面是为便于搜索,增加排名,这样,还是动态的呀.

只有注册用户登录后才能发表评论。


网站导航: