Welcome 微信登录

首页 / 网页编程 / ASP.NET / ASP.NET中实现访问链接的静态地址映射

ASP.NET中实现访问链接的静态地址映射2011-10-14protected void Application_BeginRequest(Object sender, EventArgs e) {

string strCurrentPath;
strCurrentPath = Request.Path;
//make sure that it ends with aspx. This is some quick validation on the path.
//This will shortcut processing for images and other files (WebResource.axd, for example).
if(System.IO.Path.GetExtension(strCurrentPath).EndsWith(
"aspx", true, System.Globalization.CultureInfo.InvariantCulture)) {
string strCustomPath;
string qString = Request.QueryString.ToString();
if(qString != string.Empty)
qString = "&" + qString;
strCurrentPath = strCurrentPath.ToLowerInvariant();
string appRoot = GetAppRoot(strCurrentPath);
//string pageName = "";
// the URL contains this folder name
//Response.Write(strCurrentPath);
if(strCurrentPath.IndexOf("catalog/", StringComparison.InvariantCultureIgnoreCase) > -1) {

appRoot = appRoot.Replace("catalog/", "");
strCustomPath = appRoot + "catalog.aspx?guid=" + System.IO.Path.GetFileNameWithoutExtension(strCurrentPath) + qString;

// rewrite the URL
Context.RewritePath(strCustomPath, false);
}
else if(strCurrentPath.IndexOf("product/", StringComparison.InvariantCultureIgnoreCase) > -1) {
appRoot = appRoot.Replace("product/", "");

strCustomPath = appRoot + "product.aspx?guid=" + System.IO.Path.GetFileNameWithoutExtension(strCurrentPath);
// rewrite the URL

Context.RewritePath(strCustomPath, false);
}
}
}