private static void RewriteDefault(HttpContext context)
{
var url = GetUrlWithQueryString(context);
var page = string.Format("&page={0}", context.Request.QueryString["page"]);
if (string.IsNullOrEmpty(context.Request.QueryString["page"])) {
page = null;
}
if (YearMonthDayRegex.IsMatch(url)) {
var match = YearMonthDayRegex.Match(url);
var year = match.Groups[1].Value;
var month = match.Groups[2].Value;
var day = match.Groups[3].Value;
var date = string.Format("{0}-{1}-{2}", year, month, day);
context.RewritePath(string.Format("{0}default.aspx?date={1}{2}", Utils.ApplicationRelativeWebRoot, date, page), false);
}
else if (YearMonthRegex.IsMatch(url)) {
var match = YearMonthRegex.Match(url);
var year = match.Groups[1].Value;
var month = match.Groups[2].Value;
var path = string.Format("default.aspx?year={0}&month={1}", year, month);
context.RewritePath(Utils.ApplicationRelativeWebRoot + path + page, false);
}
else if (YearRegex.IsMatch(url)) {
var match = YearRegex.Match(url);
var year = match.Groups[1].Value;
var path = string.Format("default.aspx?year={0}", year);
context.RewritePath(Utils.ApplicationRelativeWebRoot + path + page, false);
}
else {
int defaultStart = url.IndexOf("default.aspx", StringComparison.OrdinalIgnoreCase);
string newUrl = Utils.ApplicationRelativeWebRoot + url.Substring(defaultStart);
context.RewritePath(newUrl);
}
}