if (System.Web.HttpContext.Current != null) {
string url = "http://" + System.Web.HttpContext.Current.Request.Url.Authority;
string[] segments = System.Web.HttpContext.Current.Request.Url.Segments; // 判断是否是IP 还是 网址 String[] add = System.Web.HttpContext.Current.Request.Url.Authority.Split(':'); Regex regex = new Regex(@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$", RegexOptions.IgnoreCase); MatchCollection matches = regex.Matches(add[0]); bool isMatch = regex.IsMatch(add[0]); if (segments != null && segments.Length >= 3 && isMatch)//如果存在虚拟目录 { url = System.IO.Path.Combine(url, segments[1]); }
}