62,046
社区成员
发帖
与我相关
我的任务
分享
public void Init(HttpApplication context)
{
context.AuthenticateRequest += new EventHandler(context_AuthenticateRequest);
}
void context_AuthenticateRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
HttpRequest request = app.Context.Request;
//是否为文件
if (app.Context.Request.Url.IsFile)
{
return;
}
string exe = ".htm";
string[,] rewriteUrlReplace = new string[,] {
//
{"sicklist","sl",exe,"cid,page","__","_"},
{"sickfinally","sf",exe,"id","__","_"},
{"index","index",exe,"","",""},
//
{"media","media",exe,"","",""},
{"medialist","ml",exe,"id,page","__","_"},
{"mediafinally","mf",exe,"id,mid","__","_"},
//
{"interview","interview",exe,"","",""},
{"interviewlist","it",exe,"id,page,Inid","__","_"},
{"interviewvedio","iv",exe,"id,cid","__","_"},
{"InterviewFinally","itf",exe,"id,fid","__","_"},
//
{"about","about",exe,"","",""},
{"aboutUs","aboutUs",exe,"id","__","_"},
{"aboutMachine","machine",exe,"id","__","_"},
{"tream","treamv",exe,"id","__","_"},
{"DynamicList","dl",exe,"id","__","_"},
{"DynamicFinally","df",exe,"id,fid","__","_"},
//
{"tream","tream",exe,"","__","_"},
{"tream","treamx",exe,"id","__","_"},
{"caseInfo","caseInfo",exe,"cid,infoID","__","_"},//案例祥页
{"ccDocList","ccDocList",exe,"id,cenid","__","_"},
{"centerDocList","cdlist",exe,"id,cenid","__","_"},
{"docCaseList","docCaseList",exe,"cid","__","_"},//案例列表
{"docInterList","docInterList",exe,"id,cid","__","_"},
{"doctorInfo","doctorInfo",exe,"rid,cid","__","_"},
{"interInfo","interInfo",exe,"infoID,cid","__","_"},
{"doctorList","doctorList",exe,"id","__","_"},
//
{"service","service",exe,"","__","_"},
{"serviceCenter","sc",exe,"id","__","_"},
{"centerInfo","centerinfo",exe,"id,infoID","__","_"},
{"centerList","cl",exe,"id,mid,page","__","_"},
{"centerPrice","cp",exe,"id,mid","__","_"},
//
{"Answer","Answerdt",exe,"qid,id","__","_"},
{"info","aboutinfo",exe,"id","__","_"},
{"leaveMsg","leaveMsg",exe,"id","__","_"},
{"SiteMap","SiteMap",exe,"id","__","_"},
//
{"members","members",exe,"","__","_"},
{"biaozhun","biaozhun",exe,"","__","_"},
{"baijin","baijin",exe,"","__","_"},
{"guibin","guibin",exe,"","__","_"},
{"Card","Card",exe,"id","__","_"},
{"memberInfo","memberInfo",exe,"id","__","_"},
//
{"huoban","huoban",exe,"id","__","_"},
{"Alliance","Alliance",exe,"id","__","_"},
{"BankVIP","BankVIP",exe,"id","__","_"},
{"HealthContract","hc",exe,"id","__","_"},
{"Insurance","Insurance",exe,"id,bid","__","_"},
{"MeitiHB","MeitiHB",exe,"id","__","_"},
{"sokq","sokq",exe,"id","__","_"},
//
{"tastInfo","tastInfo",exe,"id","__","_"},
{"cardInfo","cardInfo",exe,"id","__","_"},
//
{"result","result",exe,"key,page","__","_"},
//
{"yazhi","yazhi",exe,"","__","_"},
{"yazhiList","yazhiList",exe,"id","__","_"},
{"yazhiInfo","yazhiInfo",exe,"id,infoID","__","_"},
//
//{"index","index",exe,"","__","_"},
};
string str = request.Url.ToString();
if (str.IndexOf("sick") > 0)
{
string id = str.Substring(str.LastIndexOf("=") + 1);
if (str.LastIndexOf("?id") > 0)
{
str = "http://www.kowa-dental.net/id_" + id + "__sf.htm";
app.Context.Response.Redirect(str);
return;
}
else if (str.LastIndexOf("?cid") > 0)
{
str = "http://www.kowa-dental.net/cid_" + id + "__sl.htm";
app.Context.Response.Redirect(str);
return;
}
}
//if (str.Contains("/index.aspx") || str.Contains("/index.htm"))
//{
// app.Context.Response.Redirect("http://ss.sokq.com/");
// return;
//}
string authURL = request.Url.AbsolutePath.ToLower();
if (authURL.Contains(".asp") && !authURL.Contains(".aspx"))
{
app.Context.RewritePath("/welcome.aspx");
return;
}
string rewriteURL = TargetStaticUrl(authURL, rewriteUrlReplace);
//if (!string.IsNullOrEmpty(rewriteURL)) app.Context.RewritePath(rewriteURL);
if (!string.IsNullOrEmpty(rewriteURL)) app.Context.RewritePath(rewriteURL);
else if (!authURL.Contains(".aspx")) app.Context.RewritePath("/404.aspx");
}
#endregion
/// <summary>
/// 分页伪静态处理方法
/// </summary>
public static string TargetStaticUrl(string authURL, string[,] rewriteUrlReplace)
{
for (int i = 0; i < rewriteUrlReplace.GetLength(0); i++)
{
//存在当前扩展名的URL
if (authURL.Contains(rewriteUrlReplace[i, 1].ToLower() + rewriteUrlReplace[i, 2]))
{
//当前访问的静态地址
string pagename = authURL.Substring(authURL.LastIndexOf("/") + 1);
//转发地址
string rewriteURL = rewriteUrlReplace[i, 0].ToLower() + ".aspx";
//页面参数
string query = pagename.Replace(rewriteUrlReplace[i, 1].ToLower() + rewriteUrlReplace[i, 2], "");
#region 伪静态转动态路径
if (!string.IsNullOrEmpty(query))
{
rewriteURL += "?";
Regex regex = new Regex(rewriteUrlReplace[i, 4]);
string[] items = regex.Split(query);
string[] paramterKeys = rewriteUrlReplace[i, 3].Split(',');
foreach (string item in items)
{
if (!item.Contains(rewriteUrlReplace[i, 5]))
{
continue;
}
string key = item.Split(rewriteUrlReplace[i, 5].ToCharArray()[0])[0];
string value = item.Split(rewriteUrlReplace[i, 5].ToCharArray()[0])[1];
string queryItem = "";
for (int j = 0; j < paramterKeys.Length; j++)
{
if (key == paramterKeys[j].ToLower())
{
queryItem = key + "=" + value;
}
}
//判断数据项
if (string.IsNullOrEmpty(queryItem))
{
continue;
}
rewriteURL += "&" + queryItem;
}//foreach end
}
#endregion 伪静态转动态路径 结束
//处理程序跳转
return rewriteURL;
}// end
}
return "";
}