www.somedomain.com
là tên miền/máy chủ lưu trữ. Tên miền phụ là một phần quan trọng. www.
thường được sử dụng thay thế cho nhau khi không có, nhưng điều đó phải được thiết lập như một quy tắc (ngay cả khi quy tắc được đặt theo mặc định) vì chúng không tương đương. Hãy nghĩ đến một tên miền phụ khác, như mx.
. Điều đó có thể có mục tiêu khác với mục tiêu là www.
.
Cho rằng, tôi khuyên không nên làm điều này. Điều đó nói rằng, vì bạn đang yêu cầu tôi tưởng tượng bạn có một lý do chính đáng.
Cá nhân, tôi khuyên bạn nên sử dụng vỏ đặc biệt www.
cho việc này.
string host = HttpContext.Current.Request.Url.GetComponents(UriComponents.HostAndPort, UriFormat.Unescaped);;
if (host.StartsWith("www."))
return host.Substring(4);
else
return host;
Ngược lại, nếu bạn thực sự chắc chắn 100% rằng bạn muốn chặt bất kỳ subdomain, bạn sẽ cần một cái gì đó một chút phức tạp hơn.
string host = ...;
int lastDot = host.LastIndexOf('.');
int secondToLastDot = host.Substring(0, lastDot).LastIndexOf('.');
if (secondToLastDot > -1)
return host.Substring(secondToLastDot + 1);
else
return host;
Nhận cổng giống như những người khác đã nói.
Nguồn
2014-10-04 05:39:35
Hostname và tên miền là 2 thứ khác nhau. Bạn có muốn một miền được ánh xạ tới địa chỉ IP cụ thể của bạn hoặc tên máy chủ của máy mà nó chạy không? –
có thể trùng lặp của [Phương pháp tốt nhất trong ASP.NET để lấy tên miền hiện tại là gì?] (Http://stackoverflow.com/questions/61817/whats-the-best-method-in-asp-net-to-obtain -miền hiện tại) – Gitz