我在asp.net中开发了一个网站并托管在Windows服务器上,但它没有为我提供子域名的通配符条目。我怎样才能写出我的网址 http://subdomainName.DomainName.org?
我想将带有子域名的网址重定向到主域名;所以url“subdomainName.DomainName.org”应该重定向到“DomainName.org”,我的子域名不固定。子域名将分配给每个用户。
我怎样才能做到这一点?
答案 0 :(得分:2)
subdomain
是DNS服务器的一部分,与IIS设置一起使用。
因此,您无法从asp.net更改DNS设置,也无法更改IIS设置。当提供商授予您添加额外子域的权限时,实际上要做的是在DNS条目上创建新条目,然后将映射添加到IIS,以便子域查看您的站点。如果您的提供商没有为您提供添加子域的工具,那么您可以编辑DNS条目,然后就不能从asp.net添加它们。
如果您可以添加子域,那么您可以使用Application_BeginRequest
或重写路径来操纵您要服务器的内容并在redirect
的global.asax上显示。例如:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
var SubDomain = GetSubDomain(HttpContext.Current.Request.Url.Host);
if(!String.IsNullOrEmpty(SubDomain) && SubDomain != "www")
{
Response.Redirect("www.yourdomain.com", true);
return;
}
}
// from : http://madskristensen.net/post/Retrieve-the-subdomain-from-a-URL-in-C.aspx
private static string GetSubDomain(Uri url)
{
string host = url.Host;
if (host.Split('.').Length > 1)
{
int index = host.IndexOf(".");
return host.Substring(0, index);
}
return null;
}
类似帖子:
How to remap all the request to a specific domain to subdirectory in ASP.NET
Redirect Web Page Requests to a Default Sub Folder
How to refer to main domain without hard-coding its name?
Retrieve the subdomain from a URL in C#