.NET4でのURL書き換えの最良の解決策は何ですか。次のようなURLを書き換える簡単な解決策を探しています。
「myurl.com/ApplicationName/Kohls」を「myurl.com/ApplicationName/index.html?store=Kohls」のように変更して、クエリ文字列を介して変数「Kohls」にアクセスできるようにします。
私は現在Global.asaxを使用しており、上記の場合は機能していますが、ユーザーがmyurl.com/Applicationと入力し、Applicationの後に「/」などがない場合に問題が発生します。
私は現在これを持っています:
protected void Application_BeginRequest(object sender, EventArgs e)
{
String CurrentURLPath = Request.Path.ToUpper();
Match nothingAfterRoot = Regex.Match(CurrentURLPath, @"/ApplicationName(/)?$", RegexOptions.IgnoreCase);
if (nothingAfterRoot.Success)
{
HttpContext myContext = HttpContext.Current;
myContext.RewritePath("/ApplicationName/Default.aspx?store=ABC");
}
else
{
Match match = Regex.Match(CurrentURLPath, @"/ApplicationName(/)?(\w)*$", RegexOptions.IgnoreCase);
if (match.Success)
{
CurrentURLPath = CurrentURLPath.Trim('/');
String store= CurrentURLPath.Split("ApplicationName/".ToCharArray())[1];
HttpContext myContext = HttpContext.Current;
myContext.RewritePath(String.Format("/ApplicationName/Default.aspx?store={0}", store));
}
}
}