基于A.NET 的url重写的心得_.NET概论及软件使用_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

基于A.NET 的url重写的心得

作者:黑客防线网安ASP维护基地 来源:黑客防线网安ASP维护基地 浏览次数:0

本篇关键词:心得重写基于 
黑客防线网安网讯:    1年前就接触过url重写,但一直没在实际项目中用过,今天项目基本调完也没啥事就尝试下url重写。 基于asp.net的urlrewrite 组件方面我并没有自己写,直接使用微软的URLRewriting 因为要节...

    1年前就接触过url重写但一直没在实际项目中用过今天项目基本调完也没啥事就尝试下url重写 基于asp.net的urlrewrite 组件方面我并没有自己写,直接使用微软的URLRewriting
因为要节省时间,而且理解了一般问题就不大了 使用起来也很简单,只需要以下几步配置。

在web.config
<configuration>
  <configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
  </configSections>

  <RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/test/(w{0,20})</LookFor>
        <SendTo>~/test.aspx?tag=$1</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>

</configuration>


    <modules>
      <add name="ScriptModule" preCondition="integratedMode"

type="System.Web.Handlers.ScriptModule, System.Web.Extensions,

Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </modules>

匹配是用正则表达式的,所以还是得花点时间学下,之前一直懒,能不用就不用,看来还是逃不了,必须学哈。

不过在页面中如果有updatepanel或者async postback就会出现地址错误的情况,这个在老赵的文章里也有提到。
最简单的解决办法在该from里添加
    Sys.Application.add_load(function()
{
    var form = Sys.WebForms.PageRequestManager.getInstance()._form;
    form._initialAction = form.action = window.location.href;
});
但这样就是有用到的页面都要写比较麻烦,而且还会把实际地址暴露给客户端
所以另一种解决办法是使用Control Adaptor来改变Form生成时的行为。


namespace ajaxURLRewrite
...{
    public class FormRewriterControlAdapter : 
        System.Web.UI.Adapters.ControlAdapter
    ...{
        protected override void Render(HtmlTextWriter writer)
        ...{
            base.Render(new RewriteFormHtmlTextWriter(writer));
        }
    }
 
    public class RewriteFormHtmlTextWriter : HtmlTextWriter
    ...{
        public RewriteFormHtmlTextWriter(HtmlTextWriter writer)
            : base(writer)
        ...{
            this.InnerWriter = writer.InnerWriter;
        }
 
        public RewriteFormHtmlTextWriter(TextWriter writer)

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14373-1.html
网站维护教程更新时间:2012-03-30 05:47:37  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer