.net 实现URL重写 实现伪静态类的简单例子
1.首先,新建一个项目,项目之中引用urlReWriter.dll
2.添加一个类:urlReWriter.cs
public class urlReWriter : URLRewriter.BaseModuleRewriter
{
public urlReWriter(){ }
protected override void Rewrite(string requestedPath, HttpApplication app)
{
if (requestedPath.Contains("html"))
{
string newstr = requestedPath.Replace("html", "aspx");//如果URL中有html就转换成aspx
app.Context.RewritePath(newstr);
return;
}
else
{
app.Context.RewritePath(requestedPath);
return;
}
}
}
3.配置web.config文件
在<system.web>结点内添加:
<httpModules>
<add name="Url" type="urlReWriter"/>
</httpModules>
本例是简单的URL重写,name=“Url”是随便配置,name用不上的话可以随便写,type 中写的就是刚刚定义的那个类 。
到此就可以了,运行程序,把浏览器中把Default.aspx 改成 Default.html 同样可以浏览,伪静态就实现了!
PS:url重写会导致css、图片、js读不出来,需要改成绝对路径才能正常显示。