【发布时间】:2011-02-12 11:39:35
【问题描述】:
我在一个带有 IIS 6 的 Windows 主机上购买了一个共享主机。
我想知道如何重写 url。
我无法修改服务器上的任何内容,我唯一能做的就是使用...我的 asp.net 代码! 一些忠告 ?
谢谢!
【问题讨论】:
-
谢谢,但我已经看过那个帖子,但我找不到 iis 6 的解决方案! :(
标签: asp.net iis-6 url-rewriting
我在一个带有 IIS 6 的 Windows 主机上购买了一个共享主机。
我想知道如何重写 url。
我无法修改服务器上的任何内容,我唯一能做的就是使用...我的 asp.net 代码! 一些忠告 ?
谢谢!
【问题讨论】:
标签: asp.net iis-6 url-rewriting
正如 ScottGu 博客所建议的,您可以
1.使用 ASP.NET 提供的HttpContext.RewritePath() 方法手动重写
void Application_BeginRequest(object sender, EventArgs e) {
string fullOrigionalpath = Request.Url.ToString();
if (fullOrigionalpath.Contains("/Products/Books.aspx")) {
Context.RewritePath("/Products.aspx?Category=Books");
}
else if (fullOrigionalpath.Contains("/Products/DVDs.aspx")) {
Context.RewritePath("/Products.aspx?Category=DVDs");
}
}
2。使用 HttpModule
使用HttpModule(例如urlrewriter.net)不需要对服务器进行任何更改,只需对Web.Config 进行一些更改并部署模块DLL
【讨论】: