は DNS サーバーのsubdomain
一部であり、IIS セットアップと連携して動作します。
そのため、DNS セットアップを asp.net から変更することも、IIS セットアップを変更することもできません。プロバイダーが追加のサブドメインを追加するアクセス権をユーザーに付与すると、実際には、DNS エントリに新しいエントリを作成し、それを IIS にマップして、サブドメインがサイトを参照できるようにします。プロバイダがサブドメインを追加するためのツールを提供していない場合、DNS エントリを編集することはできず、asp.net からそれらを追加することはできません。
サブドメインを追加できる場合は、パスを書き換えるかをApplication_BeginRequest
使用して、サーバーに送信する内容を操作し、global.asax に表示することができredirect
ます。例えば:
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;
}
同様の投稿:
ASP.NET で特定のドメインへのすべてのリクエストをサブディレクトリに再マッピングする方法
Web ページのリクエストを既定のサブ フォルダーにリダイレクト
する 名前をハードコーディングせずにメイン ドメインを参照する方法は?
C# で URL からサブドメインを取得する