BlogEngine.Core.Web.HttpModules.UrlRewrite.RewriteDefault C# (CSharp) 메소드

RewriteDefault() 개인적인 정적인 메소드

The rewrite default.
private static RewriteDefault ( HttpContext context ) : void
context System.Web.HttpContext /// The context. ///
리턴 void
        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);
            }
        }