精华内容
下载资源
问答
  • 一个URL重写的例子

    2005-09-04 13:47:00
    打开 Global.asax.cs 在最上面添加一行...第三个IF是为了解决表单提交时IE地址栏出现真实的URL地址,是第二个IF逆操作 其中正则表达式里0是分隔符,因为页数、ID最小址都不可能是0 用户IE地址栏中显示是 ...

    打开 Global.asax.cs 在最上面添加一行 using System.Text.RegularExpressions;

    然后在 Application_BeginRequest 事件中写入

    None.gifstring strRawUrl = HttpContext.Current.Request.RawUrl;
    None.gif
    string strNewUrl;
    None.gif
    None.gif
    if (Regex.IsMatch(strRawUrl, @"default.aspx", RegexOptions.IgnoreCase))
    ExpandedBlockStart.gifContractedBlock.gif
    dot.gif{
    InBlock.gifstrNewUrl 
    = Regex.Replace(strRawUrl, @"default.aspx"@"showforum.aspx\?fld=1");
    InBlock.gif
    InBlock.gifHttpContext.Current.RewritePath( strNewUrl );
    ExpandedBlockEnd.gif}

    None.gif
    else if (Regex.IsMatch(strRawUrl, @"(\d+)0(\d+)0(\d+)0(\d+).html", RegexOptions.IgnoreCase))
    ExpandedBlockStart.gifContractedBlock.gif
    dot.gif{
    InBlock.gifstrNewUrl 
    = Regex.Replace(strRawUrl, @"(\d+)0(\d+)0(\d+)0(\d+).html"@"showtopic.aspx\?tid=$1&tpg=$2&bpg=$3&fld=$4");
    InBlock.gif
    InBlock.gifHttpContext.Current.RewritePath( strNewUrl );
    ExpandedBlockEnd.gif}

    None.gif
    else if (Regex.IsMatch(strRawUrl, @"showtopic.aspx\?tid=(\d+)&tpg=(\d+)&bpg=(\d+)&fld=(\d+)", RegexOptions.IgnoreCase))
    ExpandedBlockStart.gifContractedBlock.gif
    dot.gif{
    InBlock.gifstrNewUrl 
    = Regex.Replace(strRawUrl, @"showtopic.aspx\?tid=(\d+)&tpg=(\d+)&bpg=(\d+)&fld=(\d+)"@"$10$20$30$4.html");
    InBlock.gif
    InBlock.gifHttpContext.Current.Response.Redirect( strNewUrl );
    ExpandedBlockEnd.gif}

    None.gif
    None.gif

    第一个IF是最最简单的

    第二个IF是当IIS把HTML交给ASP.NET时使用的,嘿嘿

    第三个IF是为了解决表单提交时IE的地址栏出现真实的URL地址,是第二个IF的逆操作

    其中正则表达式里的0是分隔符,因为页数、ID的最小址都不可能是0
    用户IE的地址栏中显示的是http://localhost/AdNT/4561230100101.html
    但实际上是http://localhost/AdNT/showtopic.aspx?tid=456123&tpg=10&bpg=1&fld=1

    转载于:https://www.cnblogs.com/Hedonister/archive/2005/09/04/229835.html

    展开全文
  • url重写例子

    2009-05-21 13:45:00
    URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。比如浏览器发来请求 ...url重写的优点在于:l 缩短url,隐藏实际路径提高安全性2 易于用户记忆和键入。3 易于被搜索引擎收录 刚接触还一头雾

    URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。比如浏览器发来请求 hostname/101.aspx ,服务器自动将这个请求中定向为http://hostname/list.aspx ?id=101。
    url重写的优点在于:
    l    缩短url,隐藏实际路径提高安全性
    2    易于用户记忆和键入。
    3    易于被搜索引擎收录

     

             刚接触还一头雾水,经朋友指点帮助,现在略懂一二了,呵呵,现在给大家写个实例,希望对还不懂的朋友一点帮助。

            1.准备:

            下载:urlrewritefilter-2.6.zip,解压,提取urlrewrite.jar,放到工程lib目录下。

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

            3.新建urlrewriet.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">

    <urlrewrite>

         <rule>
                <from>/([0-9]+)</from>
                <to>/MyJsp.jsp?id=$1</to>
            </rule>


    </urlrewrite>

              4。新建测试页MyJsp.jsp,放到根目录下

            内容如下:

           <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <base href="<%=basePath%>">
       
        <title>ww.pjwqh.cn</title>
       
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

    </head>

    <body>
         <%
          String a = request.getParameter("id");
    %>
        <%=basePath %> <br>
        <%
            if(a.equals("123"))
            {
                out.println("测试成功");
            }
            else
            {
                out.println("出错拉!");
            }
         %>

    </body>
    </html>

           5.测试

           在IE中输入http://localhost:8088/123,页面成功转到MyJsp.jsp

    解释下,我们通过输入123转到MyJsp.jsp页面的功能是由

    <from>/([0-9]+)</from>
    <to>/MyJsp.jsp?id=$1</to>

    这段配置来提供的,from则是浏览器中显示的路径,to则是通过from访问的实际路径,另外这里还提供了带参数传递,用到了正则表达式,关与正则表达式可以看这里的快速入门教程

     

     

    启动服务器,然后输入http://localhost:8080/test/123 ,那么就可以显示了,而实际上读取的路径是http://localhost:8080/MyJsp.jsp?id=123

     

    展开全文
  • URL重写例子

    2016-12-19 10:31:53
    [b]URL重写例子[/b] [b]使Session更安全方法:[/b] 1.分配给用户 Session ID 时,同时探明用户使用浏览器和 IP 地址、端口号,作为验证依据,使非法用户不能进行 Session ID 欺骗。 2.登陆时Session重置...
    [b]URL重写例子[/b]


    [b]使Session更安全的方法:[/b]
    1.分配给用户 Session ID 时,同时探明用户使用的浏览器和 IP 地址、端口号,作为验证依据,使非法用户不能进行 Session ID 欺骗。
    2.登陆时Session重置,也是一个有效的方法。//request.getSession().invalidate();


    encodeURL在附加jsessionid之前还对url做了判断处理:如果url为空字符串(长度为0的字符串),则将url转换为完整的URL(http或https开头的);如果url是完整的URL,但不含任何路径(即只包含协议、主机名、端口,例如http://127.0.0.1),则在末尾加上根路径符号/。
    也就是encodeURL如果进行了编码,则返回的URL一定是完整URL而不是相对路径;而encodeRedirectURL则不对URL本身进行处理,只专注于添加jsessionid参数(如果需要)。


    package com.cesmart.controller;

    import java.lang.ProcessBuilder.Redirect;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    @Controller
    public class WebTestUrl {
    @Autowired
    protected HttpServletResponse response;
    @Autowired
    protected HttpServletRequest request;

    @RequestMapping("/WebTestUrl")
    public String webTest() {
    System.out.println("WebTestUrl");

    // System.out.println("getCookies == " + request.getCookies());
    System.out.println("getRemoteAddr == " + request.getRemoteAddr());
    System.out.println("getRemoteHost == " + request.getRemoteHost());
    System.out.println("getRemotePort == " + request.getRemotePort());

    System.out.println("hashCode == " + request.getSession().hashCode());
    String encodeRedirectUrl = response.encodeURL("/001.html");
    System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);
    // Session重置,就是清空Session
    request.getSession().invalidate();
    System.out.println("getSession == " + request.getSession());
    System.out.println("hashCode == " + request.getSession().hashCode());
    encodeRedirectUrl = response.encodeURL("/001.html");
    System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);

    encodeRedirectUrl = response.encodeRedirectURL("/WebTestUrl2");
    System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);

    String returnString = "redirect:" + encodeRedirectUrl;
    return returnString;
    }
    }



    package com.cesmart.controller;

    import java.lang.ProcessBuilder.Redirect;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    @RestController
    public class WebTestUrl2 {
    @Autowired
    protected HttpServletResponse response;
    @Autowired
    protected HttpServletRequest request;

    @RequestMapping("/WebTestUrl2")
    public String webTest2() {
    System.out.println("WebTestUrl2");

    System.out.println("getCookies == " + request.getCookies());

    System.out.println("getSession == " + request.getSession());
    System.out.println("getSession == " + request.getSession().hashCode());

    // String encodeRedirectUrl = response.encodeURL("/001.html");

    String encodeRedirectUrl = response.encodeRedirectURL("/001.html");

    System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);

    String returnString = "<a href='" + encodeRedirectUrl + "'>购买</a>";

    System.out.println("returnString == " + returnString);

    return returnString;
    }
    }



    package com.cesmart;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;

    import com.cesmart.entity.TestBean;
    import com.cesmart.entity.TestBean2;

    //@Configuration
    @EnableAutoConfiguration
    // @ComponentScan(basePackages = "com.cesmart.config") //扫描那些包得到bean
    @ComponentScan(basePackages = "com.cesmart") // 扫描那些包得到bean.@ComponentScan({"com.teradata.notification","com.teradata.dal"})
    public class Application {
    public static void main(String[] args) {
    ApplicationContext applicationContext = SpringApplication.run(Application.class, args);

    TestBean testBean = (TestBean) applicationContext.getBean("testBean");
    System.out.println("TestBean == " + testBean.toString());

    TestBean2 testBean2 = (TestBean2) applicationContext.getBean("testBean2");
    System.out.println("TestBean2 == " + testBean2.toString());

    TestBean2 testBean3 = (TestBean2) applicationContext.getBean("testBean3");
    System.out.println("TestBean3 == " + testBean2.toString());
    }
    }
    展开全文
  • java实现URL重写的的方法很很多种,下面举一个使用urlrewritefilter的例子 1.在web.xml中声明一个Filter&lt;filter&gt;   &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt; ...

    java实现URL重写的的方法很很多种,下面举一个使用urlrewritefilter的例子

    1.在web.xml中声明一个Filter<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>

     2.WEB-INF目录下新建urlrewrite.xml(在其中进行重写规则的定义,它使用正则表达式来进行规则的定义)

     

    <?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">
    
    <urlrewrite>
    
            <rule>
                <from>/test.html</from>
                <to type="redirect">%{context-path}/page.html</to>
            </rule>
    
            <rule>
                <from>/param/(.*)</from>
                <to>/param.jsp?param=$1</to>
            </rule>
    
    </urlrewrite>

     下面是一个简单的测试

            <rule>
                <from>/test.html</from>
                <to type="redirect">%{context-path}/page.html</to>
            </rule>
    是将test.html的访问请求转发给page.html

            <rule>
                <from>/param/(.*)</from>
                <to>/test.jsp?param=$1</to>
            </rule>
    将test.jsp?param=111这种请求重写为/param/111

    展开全文
  • Url重写带官方例子

    2010-07-26 22:48:52
    URL重写带官方权威例子,以前看到论坛上写那些都吐血... 还是官方好. 现在UrlRewrite官方网站进不了了.估计得用代理了.. 以前下.
  • apache中url重写 例子

    2010-04-09 15:40:00
    静态网页技术,也就是静态化所有页面,一方面可以加快访问速度,又可以提高对搜索引擎友好性....所说欺骗就是URL重写,在.net和java里面都有一些它们自己封装好模块可以直接使用,很方便.不过,在PHP里面就
  • URL重写

    2018-03-14 09:39:50
    URL重写 URL重写就是首先获得一个进入URL请求然后把它重新写成网站可以处理另一个URL过程。举个例子来说,如果通过浏览器进来URL是“UserProfile.aspx?ID=1”那么它可以被重写成 “UserProfile/1.aspx”,...
  • URL重写的实现

    2014-03-28 23:53:49
    以前访问国内几个大型... URL重写就是首先获得一个进入URL请求然后把它重新写成网站可以处理另一个URL过程。举个例子来说,如果通过浏览器进来URL是“UserProfile.jsp?ID=1”那么它可以被重写成 “UserProf
  • 精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理.不过对于有服务器朋友,精简版也就够啦.精简版下载地址:http://www.helicontech.com/download/,就是那Lite Version (free). 2.安装.msi文件,和装一般...
  • URl重写 != URL伪静态

    2009-08-04 15:08:00
    市面上有很多URL重写的例子,有第三方的,有直接配置的,五花八门,在使用的时候请一定要考虑性能,我也来搅搅这趟浑水咯我理解中的URL重写是:在web.config文件<system.web>下配置 <urlMappings><...
  • Nginx实现URL重写

    千次阅读 2019-01-14 00:30:51
    本文利用Nginx实现URL重写,本文使用Nginx...URL重写是指将一个URL请求重新写成网站可以处理另一个URL过程。这样说可能不是很好理解,举个例子来说明一下,在开发中可能经常遇到这样需求,比如通过浏览器请求...
  • url重写

    2013-05-05 20:23:00
    URL重写就是首先获得一个进入URL请求然后把它重新写成网站可以处理另一个URL过程。举个例子来说,如果通过浏览器进来URL是“UserProfile.aspx?ID=1”那么它可以被重写成 “UserProfile/1.aspx”,这样URL...
  • url重写的几个疑问?

    2020-03-31 19:43:24
    什么是url? 简单来说就是你访问网址。... 什么是url重写? 我们在访问网页时候,一个网页访问到...不是所有地址都需要进行重写,对上面例子那种,带参数url地址进行重写,重写成不带参数形式。 url重写有...
  • asp.net的URL重写

    2016-01-08 15:38:00
    什么是URL重写? URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是“www.mysite.com/UserProfile/1.aspx”...URL重写的作用:(1)...
  • 1.url重写的方式在下面的例子中,每一次请求都通过doGet方法进行“分流”。如果在网址中含有参数city且不为空,就调用showAttribute()方法下所包含的servlet页面,如果没有该参数或该参数对应值为空,则调用mainPage...
  • 现在的网站优化方式有很多、其中一种就是url重写、很多人都认为url重写很难很...下面的就是一个典型、简单的url重写的例子。 1 protected void Application_BeginRequest(object sender, EventArgs e) 2 { ...
  • 本文转自:http://www.cnblogs.com/cgli/archive/2011/05/16/2047920.html 最近在VPS上尝试配置安装一个网站,VPS安装了LNMP(Linux+Nginx+MySQL+php)在配置重定规则时候经常遇到一...
  • 浅谈URl 重写

    2019-09-23 04:10:19
    URL重写就是首先获得一个进入URL请求然后把它重新写成网站可以处理另一个URL过程。举个例子来说,如果通过浏览器进来URL是“www.mysite.com/UserProfile.aspx?ID=1”那么它可以被重写成 ...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 251
精华内容 100
关键字:

url重写的例子