我是iis url重写模块的新手,我不知道怎么做。
例如我有这个网址:
http://localhost/section.aspx?x=section1&IDSection=45
我想要这个:
http://localhost/section~x~section11~IDSection~45.html
有什么想法吗? 谢谢你的帮助。
答案 0 :(得分:0)
您需要做的是编写处理程序。这样,您可以捕获扩展,然后根据需要解析它。这对用户来说是不可见的。 Handler绝对是您想要使用URL路由的方式,您仍然需要在IIS中将处理程序从aspx更改为html。
答案 1 :(得分:0)
这是使用IIS7中的URL重写模块的解决方案:
答案 2 :(得分:0)
您可以在c#中执行此操作,以在ASP.NET中的URL中使用自定义扩展名。
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app.Request.Path.ToLower().IndexOf(".html") > 0)
{
string rawpath = app.Request.Path;
string path = rawpath.Substring(0, rawpath.IndexOf(".html"));
app.Context.RewritePath(path+".aspx");
}
}