0

そのような方法で URL 書き換えを行う必要があります。

私のリクエストがabc.domain.comの場合、リクエストは次のように処理する必要があります

domain.com/default.aspx?cid=abc

たとえば、.domain.com を指定すると、要求は domain.com/default.aspx?cid= と見なされます。

abcだけを指定する必要があることは必須ではありません。サブドメインは任意です..しかし、私のリクエストはそれをクエリ文字列の値として処理する必要があります。

私のドメインは共有ホスティングにあります...

誰もこれに光を投げることができます..

4

1 に答える 1

1

サブドメインは、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 のサブディレクトリに再マッピングする方法
Web ページの要求を既定のサブ フォルダーにリダイレクト
する C# で URL からサブドメインを取得する

于 2013-02-21T09:05:59.897 に答える