要求如下:
只修改web.config 和 建立类不修改iis请大虾们帮我找个例子 。如果是*.aspx 转换成 *.html 用不用修改iis配置

解决方案 »

  1.   

    我可以很负责的告诉你 微软自带urlrewrite 本来就是这样滴 不修改iis 只修改web.config 和 建立类
      

  2.   

    添加global文件,引入命名空间using System.Text.RegularExpressions;并添加如下代码:
         void Application_AcquireRequestState(object sender, EventArgs e)
        {
            //禁止匿名用户访问Manager目录
            if (Regex.IsMatch(Request.RawUrl.ToLower(), @".aspx") == true)
            {
                Response.Redirect(Request.RawUrl.ToLower().Replace(".aspx",".html"));//用Response.Redirect可以改变地址栏进行url重定向
                //Context.RewritePath(Request.RawUrl.ToLower().Replace(".aspx", ".html"));//Context.RewritePath不改变地址栏的url重写
            }
        }
      

  3.   


    你这是不负责任,好好看看global的作用吧
      

  4.   

    ...能给个完整的例子吗?web.config  和 cs 
      

  5.   

    写一个类实现IHttpmodule接口
    去GOOGLE搜“Httpmodule 实现 URL重写”
      

  6.   

    global.asax文件:
    <%@ Application Language="C#" CodeFile="Global.asax.cs" Inherits="Global" %><script runat="server">
    </script>global.asax.cs文件:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Text.RegularExpressions;
    using System.Web.Caching;
    void Application_BeginRequest(object sender, EventArgs e)
    {
            
       if (Regex.IsMatch(Request.RawUrl.ToLower(), @".aspx") == true)
       {
           Context.RewritePath(Request.RawUrl.ToLower().Replace(".aspx", ".html"));//Context.RewritePath不改变地址栏的url重写
        }
    }//或者使用下面的代码
    //void Application_AcquireRequestState(object sender, EventArgs e)
    //{
    //    if (Regex.IsMatch(Request.RawUrl.ToLower(), @".aspx") == true)
    //   {
    //       Response.Redirect(Request.RawUrl.ToLower().Replace(".aspx",".html"));//用Response.Redirect可以改变地址栏进行url重定向
    //    }
    // }
      

  7.   

    public partial class Global : System.Web.HttpApplication
    {
         void Application_BeginRequest(object sender, EventArgs e)
    {
            
       if (Regex.IsMatch(Request.RawUrl.ToLower(), @".aspx") == true)
       {
           Context.RewritePath(Request.RawUrl.ToLower().Replace(".aspx", ".html"));//Context.RewritePath不改变地址栏的url重写
        }
    }//或者使用下面的代码
    //void Application_AcquireRequestState(object sender, EventArgs e)
    //{
    //    if (Regex.IsMatch(Request.RawUrl.ToLower(), @".aspx") == true)
    //   {
    //       Response.Redirect(Request.RawUrl.ToLower().Replace(".aspx",".html"));//用Response.Redirect可以改变地址栏进行url重定向
    //    }
    // }}
    补充上面
      

  8.   

    大哥 您url重写 一直都是直接写在 global.cs里?受教了 我汗死 
      

  9.   

    用自定义IHttpModule实现URL重写
    在本篇将讲述利用自定义IHttpModule来实现URL地址重写。 
      

  10.   

    有没有 用微软自带urlrewrite 的那个 ?我以前做过 就改改web.config 就能实现url重写 
      

  11.   

    楼主干吗非要用微软自带urlrewrite ,配置global是最简单的方法了。不用修改iis楼主的方法,需要配置iis。
      

  12.   

    第一步,首先下载微软提供的URL重写组件(点击下载),然后在项目中引用该组件。
    第二步,设置web.config文件:<configSections>
      <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
    </configSections>    把上面这段代码加入<configuration>和</configuration>之间,然后把下面的代码加入<system.web>和</system.web> 之间:  <httpModules>
       <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
      </httpModules>  接下来的任务就是设置具体哪些页面url重写了,具体代码写在<configuration>和</configuration>之间,如:
    <RewriterConfig>
      <Rules>    
       <!-- 新闻 -->  
       <RewriterRule>
        <LookFor>~/news_([0-9]*).html</LookFor>
        <SendTo><![CDATA[~/news.aspx?newsid=$1]]></SendTo>
       </RewriterRule>
      </Rules>
    </RewriterConfig>第三步:在页面程序中可以这样写:
    <a href="news_<%=newsid%>.html" target="_blank">新闻标题</a>
      

  13.   

    兄弟们 不行啊 都,不管是  该 web.config 还是 global 都要设置iis
    不然 你们试试 把你们的项目放在iis里 不配置映射的话 他就不出来。用 html页试
      

  14.   

    Response.Redirect(Request.RawUrl.ToLower().Replace(".aspx",".html"));//用Response.Redirect的,还用你配置iis吗?
      

  15.   

    希望楼主好好实验一下,我能提供的就这么多。我从来没有配置过iis