更改ASP.NET网页扩展名

来源:互联网 发布:时间划分矩阵图片 编辑:程序博客网 时间:2024/06/05 22:49

 很久以前做过这个试验,今天又把它重试了一下。有点小意思。首先,必须在IIS/默认网站/属性/主目录/配置/映射/添加,新建一个自定义的文件扩展名,执行文件选上C:/Windows/Microsoft.Net/Framework/版本号/aspnet_isapi.dll,记得要自己输入,copy的不行,会不能点确定。

再来就是website的扩展名了,有两种方式:

方法一,是直接改.aspx扩展名,改成你想要的,还要在web.config里添加这个配置。之后就可以访问啦!

<compilation debug="true">
      
<buildProviders>
        
<add extension=".kangnoz" type="System.Web.Compilation.PageBuildProvider"/>
      
</buildProviders>
    
</compilation>

方法二,不要改.aspx扩展名,添加一个Global.asax文件,加上下面这个

protected void Application_BeginRequest(Object sender, EventArgs E)
    
{
        
string url = Context.Request.RawUrl.ToLower();
        
if (url.IndexOf(.kangnoz) > 0)
        
{
            url 
= url.Replace(".kangnoz",".aspx");
            Context.RewritePath(url);
        }

    }
 

就是在request放送到服务器处理前把它rewrite一下,改了request的扩展名成.aspx,这样你用page.aspx和用page.kangnoz访问都可以。而方法一只能用page.kangnoz访问。