Asp.Net 实现 Friend Url
今天在网上搜索friend urls时看见的一种方法.这大概是最简单的方法,临时用用不错
只需要2步。
1.在Global.asax中加入:
void Application_BeginRequest(Object sender, EventArgs e)
{
string strCurrentPath;
string strBasePath;
string strCustomPath;
strCurrentPath = Request.AppRelativeCurrentExecutionFilePath.Substring(2).ToLower();
strBasePath = Request.ApplicationPath;
if (strCurrentPath != string.Empty && !strCurrentPath.Contains("."))
{
strCustomPath = strBasePath + "/Load.aspx?page=" + strCurrentPath;
// rewrite the URL
Context.RewritePath(strCustomPath);
}
else if (strCurrentPath == string.Empty)
{
Context.RewritePath(strBasePath + "/Default.aspx"); // by default
}
else
{
Context.RewritePath(strBasePath + "/" + strCurrentPath);
}
}
2.IIS Application Configuration 设置中的 Application Mapping加入Extension: * Executable Path:和aps.net一样。这样做可以防止IIS来报错404。所有的事情都由asp.net来解决。接下来就可以慢慢编写Load.aspx的内容罗。
只需要2步。
1.在Global.asax中加入:
void Application_BeginRequest(Object sender, EventArgs e)
{
string strCurrentPath;
string strBasePath;
string strCustomPath;
strCurrentPath = Request.AppRelativeCurrentExecutionFilePath.Substring(2).ToLower();
strBasePath = Request.ApplicationPath;
if (strCurrentPath != string.Empty && !strCurrentPath.Contains("."))
{
strCustomPath = strBasePath + "/Load.aspx?page=" + strCurrentPath;
// rewrite the URL
Context.RewritePath(strCustomPath);
}
else if (strCurrentPath == string.Empty)
{
Context.RewritePath(strBasePath + "/Default.aspx"); // by default
}
else
{
Context.RewritePath(strBasePath + "/" + strCurrentPath);
}
}
2.IIS Application Configuration 设置中的 Application Mapping加入Extension: * Executable Path:和aps.net一样。这样做可以防止IIS来报错404。所有的事情都由asp.net来解决。接下来就可以慢慢编写Load.aspx的内容罗。
-*- 此文章为本人发呆时 ctrl+c , ctrl+v 的结果. 如果损害到您的利益, 可以联系我 QQ: 248078462 -*-