就是将一个动态网站运行时所有的。aspx后缀名重写为。html的。
并进行界面传值时也可以将index。aspx?id=2也重写成为。html的。
还请各位大哥帮帮忙,给我这个实现代码和测试代码@!

解决方案 »

  1.   

    URLRewrite,我的BLOG里收集了很多,都是当初学的时候的看的
      

  2.   

    下载个UrlRewriter.dll,在WEBCONFIG直接引用它
    例如 
    <ReplaceUrl>
        <urls>
          <add virtualUrl="~/default.html" destinationUrl="~/default.aspx" />
             </urls>
      </ReplaceUrl>
      

  3.   

    先弄个URLRewriter.dll,然后引用
    以下是配置
    <!-- UrlRewriter for .net2.0 配置第一步(共三步) 要放在<configuration>子节点第一个位置-->
      <configSections>
        <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
      </configSections>
    <!-- UrlRewriter for .net2.0 配置第二步(共三步) -->
      <!-- 地址重写规则 -->
      <RewriterConfig>
           <Rules>
               <!-- 首页重写规则 -->
               <RewriterRule>
                   <LookFor>~/Default.html</LookFor>
                   <SendTo>~/Default.aspx</SendTo>
                
          </RewriterRule>           <!-- 详细页面重写规则 -->
               <RewriterRule>
                   <LookFor><![CDATA[~/qgpage_(\d)_(\d).html]]></LookFor>
                   <SendTo><![CDATA[~/qgpage.aspx?id=$1&type=$2]]></SendTo>
                
          </RewriterRule>           <!-- 类别页面重写规则 -->
               <RewriterRule>
                   <LookFor>~/category/(\d{1}) </LookFor>
                   <SendTo>~/category.aspx?id=$1 </SendTo>
                
          </RewriterRule>
            
        </Rules>
      </RewriterConfig>
    <!-- UrlRewriter for .net2.0 配置第三步(共三步)放在<system.web> -->
    <httpHandlers>
          
          <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
          <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
    </httpHandlers>
    最后改动页面上的链接把连到.aspx都按照规则改成.html就可以了
      

  4.   

    记得把前台页面的链接.aspx都按照规则改成.html。
      

  5.   

    我将web.config配置好了
    我怎么在。aspx。cs中写什么
    可以达到url重写的效果
      

  6.   

    http://blog.csdn.net/xdbjzhhh/archive/2010/06/28/5699206.aspx
      

  7.   

    http://www.17aspx.com/html/aspnet/url/2010/0313/1104.html
    请参考
      

  8.   

    这个里面的webconfig写的都有问题,有两个
    </system.web>结束符
    并<rewriter>
      <rewrite url="~/test_([a-zA-Z]+).html$" to="~/Show.aspx?Code=$1" processing="stop" />
     </rewriter>
    这段报错
      

  9.   

    CS根本需要写什么的。就是链接要改成对应的规则的html即可
      

  10.   

    <configuration>
    <configSections>
    <section name="urlrewritingnet" requirePermission ="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"  />
    </configSections>
    <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage = "Default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <rewrites>
    <add name="RewritePhoto" virtualUrl="^~/(\d+).html"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="~/Default.aspx?ID=$"
     ignoreCase="true" />
    <!--更多重写规则-->
    </rewrites>
    </urlrewritingnet>
    <appSettings/>
    <connectionStrings/>
    <system.web>
    <httpModules>
    <add name="UrlRewriteModule"
       type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </httpModules> <compilation debug="true"/> <authentication mode="Windows"/>
    </system.web>
    <system.codedom>
    </system.codedom> <system.webServer>
    </system.webServer>
    </configuration>
      

  11.   

    <body>
        <form id="form1" runat="server">
        <div>    
        <% 
            Response.Write("原始URL:" + Request.RawUrl + "<br/>");
            Response.Write("获取的ID:" + Request.QueryString["ID"]);         
         %>     </div>
        </form>
    </body>
      

  12.   

    1.首先bin添加:UrlRewritingNet.UrlRewriter.dll
    2.重写规则举例:<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
            <rewrites>
    <add name="Rewrite1" virtualUrl="^~/DDDD(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/GoodsDetail.aspx?GoodsID=$1" ignoreCase="true"/>
    </rewrites>
    </urlrewritingnet>
    3. IIS设置:
    IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加 
    可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll 
    扩展名:.html 
    动作:限制为 GET,HEAD,POST,DEBUG 
    脚本引擎:选中 
    确认文件是否存在:不选4.测试: 
    按照举例的重写方式:
    假如页面有一个HyperLink 控件:
    没有采用伪静态的话URl是:NavigateUrl="~/GoodsDetail.aspx?GoodsID=1"按照我写的规则则变为:NavigateUrl="~/DDDD1.html" 
    OK 
      

  13.   

    这段代码写在webconfig中那个标签下啊
      

  14.   

    在</configSections> 下面,<appSettings>的上面。
    将你的错误列出来,我能解决,我用的就是URLRewrite,我网站:
    http://www.565388.com
      

  15.   

    我没报错,
    我就建立了Default.aspx
    运行,他的url、还是"Default.aspx
      

  16.   

    asp.net mvc路由
    protected override void Rewrite(string requestedPath, HttpApplication app)
            {
                if (requestedPath.Contains("A/2.html"))
                    app.Context.RewritePath("/a.aspx?id=2");
            }
        }
    <RewriterRule>
      <LookFor>~/web/new/(.[\d]*).html</LookFor>
      <SendTo>~/web/new.aspx?id=$1</SendTo>
      </RewriterRule>
      <RewriterRule>
      <LookFor>~/web/new/(.[\w]*)/(.[\w]*).html</LookFor>
      <SendTo><![CDATA[~/web/new.aspx?id=$1&name=$2]]></SendTo>
      </RewriterRule>