www.somedomain.com
是该域/主机。子域是一个重要的部分。 www.
通常可以互换使用,没有一个,但是必须按照规则进行设置(即使它是默认设置),因为它们不相同。想想另一个子域,如mx.
。这可能与www.
有不同的目标。
鉴于此,我建议不要这样做。这就是说,既然你问我想象你有一个很好的理由。
就我个人而言,我建议为此特殊套管www.
。
string host = HttpContext.Current.Request.Url.GetComponents(UriComponents.HostAndPort, UriFormat.Unescaped);;
if (host.StartsWith("www."))
return host.Substring(4);
else
return host;
否则,如果你真的100%肯定要砍掉任何子域,你需要的东西一点点更加复杂。
string host = ...;
int lastDot = host.LastIndexOf('.');
int secondToLastDot = host.Substring(0, lastDot).LastIndexOf('.');
if (secondToLastDot > -1)
return host.Substring(secondToLastDot + 1);
else
return host;
获取端口就像其他人所说的。
主机名和域名是两个不同的东西。你想要一个映射到特定IP地址的域名,或者它所运行的机器的主机名? – 2014-10-04 05:33:11
[ASP.NET中获取当前域的最佳方法是什么?](http://stackoverflow.com/questions/61817/whats-the-best-method-in-asp-net-to-obtain - 当前域) – Gitz 2014-10-04 05:49:08