在asp.net中创建动态子域
本文关键字:动态 创建 asp net | 更新日期: 2023-09-27 18:00:25
我需要以
如果我的请求是abc.domain.com,那么应该像一样处理请求
domain.com/default.aspx?cid=abc
例如,如果我给.domain.com,请求应该假定为domain.com/default.aspx?cid=
这不是强制性的,我需要给abc单独的子域可以是任何。。但是我的请求应该被处理,假设它是querystring值。
我的域位于共享主机中。。。
有人能照亮这个吗。。
必须在DNS服务器和IIS上创建和配置子域。
在您将网站设置为接受该子域后,您可以直接使用RewritePath
将子域映射到具有不同参数的特定文件。
从Application_BeginRequest
开始,您检查并找到子域,并将路径重写为:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
var SubDomain = GetSubDomain(HttpContext.Current.Request.Host);
// this is a simple example, you can place your variables base on subdomain
if(!String.IsNullOrEmpty(SubDomain))
RewritePath(HttpContext.Current.Request.Path + SubDomain + "/", false);
}
// 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;
}
类似:
如何将所有到特定域的请求重新映射到ASP.NET中的子目录
将网页请求重定向到默认子文件夹
从C#中的URL检索子域