我需要以这样的方式进行 URL 重写
如果我的请求是 abc.domain.com,则应处理请求,例如
domain.com/default.aspx?cid=abc
例如,如果我提供.domain.com,则请求应假定为 domain.com/default.aspx?cid=
我不需要单独给 abc 子域可以是任何.. 但我的请求应该被处理,假设它是查询字符串值。
我的域在共享主机中...
任何人都可以在这个中发光..
我需要以这样的方式进行 URL 重写
如果我的请求是 abc.domain.com,则应处理请求,例如
domain.com/default.aspx?cid=abc
例如,如果我提供.domain.com,则请求应假定为 domain.com/default.aspx?cid=
我不需要单独给 abc 子域可以是任何.. 但我的请求应该被处理,假设它是查询字符串值。
我的域在共享主机中...
任何人都可以在这个中发光..
必须在 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 检索子域