`

URLRewriter实现伪静态

阅读更多

URLREwriter组件

下载地址:http://www.chx99.cn/file/URLRewriter.rar

 

实现url重写的步骤:

首先,通过上述的网址将URLREwriter组件下载到本地,放到项目下的/WEB-INF/lib目录下

再从网上找到如下的配置文件urlrewrite.xml,如下:(放在/WEB-INF目录下)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<!--

    Configuration file for UrlRewriteFilter
    http://tuckey.org/urlrewrite/

-->
<urlrewrite>

    <rule>
        <note>
            The rule means that requests to /test/status/ will be redirected to /rewrite-status
            the url will be rewritten.
        </note>
        <from>/test/status/</from>
        <to type="redirect">%{context-path}/rewrite-status</to>
    </rule>


    <outbound-rule>
        <note>
            The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
            the url /rewrite-status will be rewritten to /test/status/.

            The above rule and this outbound-rule means that end users should never see the
            url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
            in your pages.
        </note>
        <from>/rewrite-status</from>
        <to>/test/status/</to>
    </outbound-rule>


    <!--

    INSTALLATION

        in your web.xml add...

        <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-mapping>
            <filter-name>UrlRewriteFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

     EXAMPLES

     Redirect one url
        <rule>
            <from>/some/old/page.html</from>
            <to type="redirect">/very/new/page.html</to>
        </rule>

    Redirect a directory
        <rule>
            <from>/some/olddir/(.*)</from>
            <to type="redirect">/very/newdir/$1</to>
        </rule>

    Clean a url
        <rule>
            <from>/products/([0-9]+)</from>
            <to>/products/index.jsp?product_id=$1</to>
        </rule>
    eg, /products/1234 will be passed on to /products/index.jsp?product_id=1234 without the user noticing.

    Browser detection
        <rule>
            <condition name="user-agent">Mozilla/[1-4]</condition>
            <from>/some/page.html</from>
            <to>/some/page-for-old-browsers.html</to>
        </rule>
    eg, will pass the request for /some/page.html on to /some/page-for-old-browsers.html only for older
    browsers whose user agent srtings match Mozilla/1, Mozilla/2, Mozilla/3 or Mozilla/4.

    -->

</urlrewrite>

接下类就可以进行伪静态的实现了:

在上述的配置文件中加入下面代码:(缩减版)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<!--

    Configuration file for UrlRewriteFilter
    http://tuckey.org/urlrewrite/

-->
<urlrewrite>

    <rule>
        <note>
            The rule means that requests to /test/status/ will be redirected to /rewrite-status
            the url will be rewritten.
        </note>
        <from>/test/status/</from>
        <to type="redirect">%{context-path}/rewrite-status</to>
    </rule>
   
        <rule>
            <from>/student.html/([a-z]+)</from>
            <to>/student.do?cmd=$1</to>
        </rule>
       
<rule>
            <from>/student2.html/([a-z]+)_([0-9]+)</from>
            <to>/student.do?cmd=$1&amp;id=$2</to>
        </rule>

        
    <outbound-rule>
        <note>
            The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
            the url /rewrite-status will be rewritten to /test/status/.

            The above rule and this outbound-rule means that end users should never see the
            url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
            in your pages.
        </note>
        <from>/rewrite-status</from>
        <to>/test/status/</to>
    </outbound-rule>

</urlrewrite>

 

最后在你的项目中就可以将路径写成伪静态的样子,如:

<a href="student.html/list">查看学生列表</a>

通过urlrewrite.xml的解析

<rule>
            <from>/student.html/([a-z]+)</from>
            <to>/student.do?cmd=$1</to>

  </rule>

就将该路径转化为:

student.do?cmd=list      (这是真实的请求路径)

 

 

又如:

<a href="student2.html/loadedit_2">查看学生列表</a>

通过urlrewrite.xml的解析

<rule>
            <from>/student2.html/([a-z]+)_([0-9]+)</from>
            <to>/student.do?cmd=$1&amp;id=$2</to>
 </rule>

就将该路径转化为:

student.do?cmd=loadedit&id=2      (这是真实的请求路径)

 

 

由于伪路径经常带有“/”,会将页面路径嵌套,所以建议使用绝对路径

在jsp页面上写上:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

则上面的路径可以写成:

<a href="<%=basePath%>student2.html/loadedit_2">查看学生列表</a>

 

 

 

来自:http://blog.sina.com.cn/s/blog_6145ed810100dvs2.html

分享到:
评论

相关推荐

    UrlRewriter 实现伪静态

    UrlRewriter 是一款广泛应用于Web开发中的开源工具,主要用于实现URL重写和转换,从而达到优化网站URL结构、实现伪静态的效果。在本文中,我们将深入探讨UrlRewriter的工作原理,以及如何通过它来实现伪静态,提升...

    MVC通过URLRewriter做伪静态,附教程,文档

    ASP.NET MVC4通过UrlRewriter配置伪静态,在网上都有很多资料,这里主要是把项目中使用到的通过UrlRewriter配置伪静态提取出来,方便自己以后查看,同样对需要该功能的网友提供思路。

    UrlRewriter 伪静态

    在使用UrlRewriter实现伪静态时,我们需要在web.config文件中添加规则。例如,以下是一个简单的规则示例: ```xml ^article/([0-9]+)" /&gt; ``` 这段配置表示,当用户访问形如`/article/123`的URL时,...

    UrlRewriter地址栏重写

    在本示例中,我们重点关注如何使用UrlRewriter实现伪静态,以及针对IIS7.5环境下的错误解决方案。 **URL重写的基本概念** URL重写是将动态URL转换为静态或近似静态的URL,使得原本包含参数的URL变得简洁、易于理解...

    利用Mircosoft URLRewriter.dll实现页面伪静态

    "利用Microsoft URLRewriter.dll实现页面伪静态"这一主题正是针对这一需求,通过微软提供的URLRewriter组件来实现。 URLRewriter.dll是微软IIS服务器的一个扩展模块,它允许开发者自定义URL重写规则,将动态URL转换...

    asp.net 伪静态实现和IIS7.0配置(包含UrlRewriter.dll文件)

    本文将详细介绍如何在ASP.NET环境中实现伪静态以及在IIS7.0上进行配置。 首先,`UrlRewriter.dll`是微软的UrlRewrite模块的一个组件,用于处理URL重写规则。这个库使得开发者能够自定义URL,将动态请求映射到实际的...

    UrlRewriter伪静态文件库

    在Web开发中,伪静态技术是优化网站SEO(搜索引擎优化)的重要手段,因为它可以使得URL更加友好、简洁,同时也方便搜索引擎更好地理解和索引网页内容。 **1. URL重写的基本概念** URL重写技术允许开发者隐藏实际的...

    IIS7.0实现伪静态URLRewriter.dll和ActionlessForm.dll

    总的来说,通过IIS7.0、URLRewriter.dll和ActionlessForm.dll的结合使用,我们可以创建出具有伪静态URL的动态网站,提高网站的可读性和SEO效果。同时,这也需要开发者对URL重写机制、HTTP协议以及web.config配置有...

    UrlRewritingNet.UrlRewriter.dll 伪静态URL重写

    总结,UrlRewritingNet.UrlRewriter.dll是.NET开发者实现伪静态URL重写的一个强大工具,通过合理的配置,可以显著提升网站的用户体验和SEO效果。掌握其配置和使用方法,是优化Web应用的关键步骤之一。通过实践和不断...

    aspx.net伪静态页面的实现

    ASP.NET伪静态页面的实现是Web开发中一种优化网站SEO...总之,`URLRewriter.dll`在ASP.NET环境中提供了一个强大且灵活的工具,用于实现URL伪静态化。通过适当的配置和编程,你可以有效地提升网站的SEO性能和用户体验。

    Asp.net URLRewriter伪静态代码示例

    在本示例中,我们将探讨如何在Asp.net中实现URLRewriter,以创建伪静态的URL。 1. **URLRewriter的概念** URLRewriter是一种中间件或模块,它解析请求的URL,根据预定义的规则将其转换为其他URL。这种转换过程通常...

    伪静态 重写url URLRewriter.dll 下载

    这里我们主要讨论如何利用URL重写来实现伪静态,并关注`URLRewriter.dll`这个组件在其中的作用。 1. **伪静态的含义**: 伪静态是一种将动态网页的URL转化为类似静态网页URL的技术。这样做的目的是为了让用户和...

    伪静态配置示例源码

    在IT行业中,伪静态技术是一种将动态网页转化为看似静态页面的技术,主要目的是为了优化搜索引擎优化(SEO)和提高用户体验。...对于学习和理解如何在ASP.NET环境中实现伪静态功能,这是一个宝贵的参考资料。

    伪静态配置示例源码2012621

    包括两种方式实现伪静态 1.通过URLRewriter.dll 把他放到项目的bin文件夹下,配置相关web.config 2.通过自动以UrlRewriter.cs类 具体配置信息: &lt;!--使用URLRewriter.dll ...

    伪静态详细配置方法

    在ASP和ASP.NET环境下,实现伪静态的方法有所不同。下面我们将分别探讨这两种环境下的配置步骤。 1. **ASP伪静态配置**: - ASP环境通常使用IIS6或更低版本,可以通过修改Web.config文件来配置伪静态。首先,你...

    伪静态相关DLL.rar

    在ASP.NET环境中,实现伪静态通常会涉及到两个关键组件:`ActionlessForm.dll`和`URLRewriter.dll`,这两个动态链接库在给定的压缩包"伪静态相关DLL.rar"中提供。 `ActionlessForm.dll`是一个针对ASP.NET的库,主要...

    PageAdmin伪静态组件及规则下载组件forv3.0版

    在这个特定的资源包中,我们关注的是"PageAdmin伪静态组件及规则下载组件for v3.0版",它是为了帮助用户实现网站URL的伪静态化。这个功能在SEO优化和用户体验方面具有重要意义。 首先,让我们来理解什么是伪静态。...

    伪静态方法 详细说明

    通过以上步骤,你就可以在你的ASP.NET项目中实现伪静态,让动态网站看起来像静态网站一样,从而提升网站的性能和SEO效果。在实际操作中,可能还会遇到其他问题,比如URL编码、动态参数的处理等,这些都需要根据实际...

    伪静态dll UrlRewriter.dll ActionlessForm.dll

    标题提到的“伪静态dll UrlRewriter.dll ActionlessForm.dll”涉及到两个关键组件:UrlRewriter.dll和ActionlessForm.dll,它们在实现伪静态过程中扮演着重要角色。 UrlRewriter.dll是一个DLL(动态链接库)文件,...

Global site tag (gtag.js) - Google Analytics