UrlRewrite

Кога имате потреба од пријателски URL-a, можете да креирате HttpModule.

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// 
/// Summary description for UrlRewriteTest
/// 
public class UrlRewriteTest : IHttpModule
{
    private void context_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = ((HttpApplication)sender).Context;
        string path = context.Request.Path.ToUpperInvariant();

        if (path.Contains(”/TEST/”))
        {
            context.RewritePath(”~/TEST2.ASPX”);
        }
        else
            context.RewritePath(”~/TEST3.ASPX”);
    }

    #region IHttpModule Members

    public void Dispose()
    {
        //Do nothing
    }

    public void Init(HttpApplication context)
    {
        context.BeginRequest += new EventHandler(context_BeginRequest);
    }

    #endregion
}

Во web.config, во делот httpModules додавате <add name=”UrlRewriteTest” type=”UrlRewriteTest, App_Code”/> доколку класата е креирана во App_Code фолдерот.

Со ова, доколку го отворите url-to http://temp.org/test/ ќе се сервира TEST2.ASPX, за сите останати ситуации ќе се сервира TEST3.ASPX.

Hits for this post:736

Leave a Comment