共用方式為


網站 < 網站>

概觀

<site> 態專案可控制您在 IIS 7 和更新版本伺服器上執行之特定網站的設定。 例如,預設網站及其設定是在 <site> 元素的開頭和結尾標籤之間找到的 <sites> 元素中定義。

當您在 IIS 7 和更新版本上建立新的網站時,您可以設定 <site> 元素。 元素 <site> 包含 名稱 屬性,定義您指派網站的名稱,以及定義網站數值識別碼的 id 屬性。 元素 <site> 包含子專案,可定義在月臺上執行的應用程式和虛擬目錄,以及網站的埠、通訊協定、記錄和追蹤組態設定。

相容性

版本 備註
IIS 10.0 <site> IIS 10.0 中未修改專案。
IIS 8.5 <site> 在 IIS 8.5 中修改專案。
IIS 8.0 在 IIS 8.0 中未修改專案 <site>
IIS 7.5 <site> 在 IIS 7.5 中修改專案。
IIS 7.0 <site>集合的 <sites> 元素是在 IIS 7.0 中引進的。
IIS 6.0 <sites>集合會取代 IIS 6.0 IIsWebServer中繼基底物件。

安裝程式

專案 <site> 包含在 IIS 7 和更新版本的預設安裝中。

作法

當您在 IIS 7 上設定新的網站時,您必須將網站指派網站名稱和實體路徑。 您也可以設定許多選擇性組態設定。 如果您打算繼續使用 IIS 7 伺服器上的預設網站,則必須變更新網站的系結資訊。 您可以藉由變更埠或輸入新網站的主機名稱來執行此動作。

如何建立新的網站

  1. (IIS) 管理員開啟 Internet Information Services

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
  2. 在 [ 連線 ] 窗格中,展開伺服器名稱,然後按一下 [ 月臺]。

  3. 在 [ 動作] 窗格中,按一下 [ 新增網站]

  4. 在 [ 新增網站] 對話方塊中,至少在 [ 網站名稱 ] 和 [ 實體路徑 ] 文字方塊中輸入資訊,然後選擇是否要在 [ 主機名稱 ] 文字方塊中輸入資訊,或變更 [ ] 方塊中的號碼。
    顯示 [新增網站] 對話方塊的螢幕擷取畫面。Contoso 會在 [網站名稱] 文字方塊中輸入。

  5. 在 IIS 管理員上,按一下 [重新整理] 按鈕以確認網站已啟動。

如何啟用或停用 FTP 網站的匿名驗證

  1. (IIS) 管理員開啟 Internet Information Services

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
  2. 在 [ 連線 ] 窗格中,展開伺服器名稱、展開 [月臺] 節點,然後按一下月臺的名稱。

  3. 在網站的 [ 首頁] 窗格中,按兩下 [FTP 驗證 ] 功能。

  4. 在 [ FTP 驗證] 頁面上,選取 [匿名驗證]。

  5. 在 [ 動作] 窗格中,按一下 [ 啟用 ] 以啟用匿名驗證,或按一下 [ 停用 ] 以停用匿名驗證。
    顯示 [F T P 驗證] 窗格的螢幕擷取畫面。匿名驗證已列出並停用。

如何使用 FTP 網站精靈建立具有匿名讀取存取的 FTP 網站

  1. (IIS) 管理員開啟 Internet Information Services

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
  2. 在 [ 連線 ] 窗格中,按一下樹狀結構中的 [月臺] 節點。

  3. 以滑鼠右鍵按一下樹狀結構中的[月臺]節點,然後按一下 [新增 FTP 站台],或按一下 [動作] 窗格中的 [新增 FTP 站台]。

  4. 當 [ 新增 FTP 站 台精靈] 出現時:

    • [FTP 網站名稱 ] 方塊中輸入 「我的新 FTP 網站」。

    • 針對 [實體路徑 ] 方塊,您可以使用下列其中一個選項來指定內容目錄:

      • 按一下省略號 (...) 按鈕,然後流覽至包含 FTP 網站內容的資料夾。
      • 在方塊中輸入內容資料夾的路徑。 請注意,如果您選擇輸入路徑,您可以在路徑中使用環境變數。 例如,您可以針對內容目錄使用 「%SystemDrive%\inetpub\ftproot」。
    • 當您完成這些專案之後,請按 [下一步]。
      顯示 [網站資訊] 頁面的螢幕擷取畫面。[我的新 F T P 網站] 會在 [F T P 網站名稱] 文字方塊中輸入。

  5. [新增 FTP 站 台精靈] 的第二個頁面上:

    • 從 [IP 位址] 下拉式清單中選擇 FTP 網站的 IP 位址 ,或選擇接受 [所有未指派] 的預設選取專案。

    • 在 [ ] 方塊中輸入 FTP 網站的 TCP/IP 埠。 根據預設,FTP 月臺和用戶端會使用埠 21。 (注意:若要指定隱含 FTPS,您必須使用埠 990.)

    • 若要使用 FTP 虛擬主機名稱,請選取 [ 啟用虛擬主機名稱] 的方塊,然後在 [ 虛擬主機 ] 方塊中輸入虛擬主機名稱。

    • 針對 SSL 選項,請選擇下列其中一個選項:

      • 選取 [無 SSL ] 以停用 SSL 選項。
      • 選取 [允許 SSL ] 以允許 FTP 用戶端在與 FTP 伺服器連線時選擇性地使用 FTP over SSL。
      • 選取 [要求 SSL ] 以允許 FTP 用戶端在與 FTP 伺服器連線時一律使用 FTP over SSL。
      • 如果您選擇 [允許 SSL ] 或 [ 需要 SSL],請從 [ SSL 憑證 ] 下拉式功能表中選擇憑證。
    • 當您完成這些專案之後,請按 [下一步]。
      顯示 [系結] 和 [S S L 設定] 頁面的螢幕擷取畫面。已選取 [允許 S L]。

  6. 在精靈的下一頁:

    • 針對[驗證] 設定選取 [匿名]。
    • 針對 [授權 設定],從 [ 允許存取] 下拉式清單中選擇 [匿名使用者]。
    • 針對 [許可權]選項選取[讀取]。
    • 當您完成這些專案時,請按一下 [ 完成]。
      顯示 [驗證和授權資訊] 頁面的螢幕擷取畫面。已選取 [匿名] 和 [讀取]。

組態

<site>您可以在 ApplicationHost.config 檔案的伺服器層級設定 專案。

屬性

屬性 描述
id 選擇性 uint 屬性。

指定建立月臺時 IIS 所指派的亂數值識別碼。

預設網站編號為 1。 其他網站有由多個數位組成的亂數字。
name 選擇性字串屬性。

指定可唯一識別網站的易記名稱,例如「Contoso HR Forms」。
serverAutoStart 選擇性的 Boolean 屬性。

指定當管理服務啟動時,月臺是否應該自動啟動。

預設值是 true

子元素

元素 描述
application 選擇性項目。

指定月臺中應用程式的組態設定集合。
applicationDefaults 選擇性項目。

指定父網站中所有應用程式的預設設定。
bindings 選擇性項目。

指定要存取網站的系結。
ftpServer 選擇性項目。

指定網站的 FTP 設定。

注意: 這需要安裝 FTP 7.0 或 FTP 7.5。
limits 選擇性項目。

設定以限制頻寬數量、連線數目或月臺連線的時間量。
logFile 選擇性項目。

設定用於處理和儲存月臺記錄檔的設定。
traceFailedRequestsLogging 選擇性項目。

指定記錄月臺失敗要求追蹤的設定。
virtualDirectoryDefaults 選擇性項目。

指定網站中所有虛擬目錄的預設設定。

組態範例

下列組態範例會顯示 <site> ApplicationHost.config 檔案中的 專案。 name屬性會將網站名稱定義為 Contoso,而id屬性會將 IIS 特定識別碼定義為2。 元素中的 <virtualDirectory>physicalPath屬性會定義新網站內容的實體位置。 專案的 通訊協定 屬性 <binding> 會定義網站將使用的通訊協定,而 bindingInformation 屬性會 www.contoso.com 定義為新網站所使用的主機標頭。

<site name="Contoso" id="2">
   <application path="/">
      <virtualDirectory path="/" physicalPath="C:\inetpub\Contoso" />
   </application>
   <bindings>
      <binding protocol="http" bindingInformation="*:80:www.contoso.com" />
   </bindings> 
</site>

範例程式碼

下列範例會建立名為 Contoso 且識別碼為 2 的新網站,並透過埠 80 設定 HTTP 通訊協定的系結,其主機標頭為 「www.contoso.com」。 新網站的實體路徑為 C:\Inetpub\www.contoso.com\wwwroot。

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2',serverAutoStart='True']" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].bindings.[protocol='http',bindingInformation='*:80:www.contoso.com']" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/']" /commit:apphost

appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/'].[path='/',physicalPath='C:\Inetpub\www.contoso.com\wwwroot']" /commit:apphost

注意

當您使用AppCmd.exe設定這些設定時,請務必將 認可 參數 apphost 設定為 。 這會將組態設定認可至ApplicationHost.config檔案中適當的位置區段。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
         ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();

         ConfigurationElement siteElement = sitesCollection.CreateElement("site");
         siteElement["name"] = @"Contoso";
         siteElement["id"] = 2;
         siteElement["serverAutoStart"] = true;

         ConfigurationElementCollection bindingsCollection = siteElement.GetCollection("bindings");
         ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
         bindingElement["protocol"] = @"http";
         bindingElement["bindingInformation"] = @"*:80:www.contoso.com";
         bindingsCollection.Add(bindingElement);

         ConfigurationElementCollection siteCollection = siteElement.GetCollection();
         ConfigurationElement applicationElement = siteCollection.CreateElement("application");
         applicationElement["path"] = @"/";
         ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
         ConfigurationElement virtualDirectoryElement = applicationCollection.CreateElement("virtualDirectory");
         virtualDirectoryElement["path"] = @"/";
         virtualDirectoryElement["physicalPath"] = @"C:\Inetpub\www.contoso.com\wwwroot";
         applicationCollection.Add(virtualDirectoryElement);
         siteCollection.Add(applicationElement);
         sitesCollection.Add(siteElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
      Dim sitesCollection As ConfigurationElementCollection = sitesSection.GetCollection

      Dim siteElement As ConfigurationElement = sitesCollection.CreateElement("site")
      siteElement("name") = "Contoso"
      siteElement("id") = 2
      siteElement("serverAutoStart") = True

      Dim bindingsCollection As ConfigurationElementCollection = siteElement.GetCollection("bindings")
      Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
      bindingElement("protocol") = "http"
      bindingElement("bindingInformation") = "*:80:www.contoso.com"
      bindingsCollection.Add(bindingElement)

      Dim siteCollection As ConfigurationElementCollection = siteElement.GetCollection
      Dim applicationElement As ConfigurationElement = siteCollection.CreateElement("application")
      applicationElement("path") = "/"
      Dim applicationCollection As ConfigurationElementCollection = applicationElement.GetCollection
      Dim virtualDirectoryElement As ConfigurationElement = applicationCollection.CreateElement("virtualDirectory")
      virtualDirectoryElement("path") = "/"
      virtualDirectoryElement("physicalPath") = "C:\Inetpub\www.contoso.com\wwwroot"
      applicationCollection.Add(virtualDirectoryElement)
      siteCollection.Add(applicationElement)
      sitesCollection.Add(siteElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var sitesCollection = sitesSection.Collection;

var siteElement = sitesCollection.CreateNewElement("site");
siteElement.Properties.Item("name").Value = "Contoso";
siteElement.Properties.Item("id").Value = 2;
siteElement.Properties.Item("serverAutoStart").Value = true;

var bindingsCollection = siteElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com";
bindingsCollection.AddElement(bindingElement);

var siteCollection = siteElement.Collection;
var applicationElement = siteCollection.CreateNewElement("application");
applicationElement.Properties.Item("path").Value = "/";
var applicationCollection = applicationElement.Collection;
var virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory");
virtualDirectoryElement.Properties.Item("path").Value = "/";
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\\Inetpub\\www.contoso.com\\wwwroot";
applicationCollection.AddElement(virtualDirectoryElement);
siteCollection.AddElement(applicationElement);
sitesCollection.AddElement(siteElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set sitesCollection = sitesSection.Collection

Set siteElement = sitesCollection.CreateNewElement("site")
siteElement.Properties.Item("name").Value = "Contoso"
siteElement.Properties.Item("id").Value = 2
siteElement.Properties.Item("serverAutoStart").Value = True

Set bindingsCollection = siteElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com"
bindingsCollection.AddElement bindingElement

Set siteCollection = siteElement.Collection
Set applicationElement = siteCollection.CreateNewElement("application")
applicationElement.Properties.Item("path").Value = "/"
Set applicationCollection = applicationElement.Collection
Set virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory")
virtualDirectoryElement.Properties.Item("path").Value = "/"
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\Inetpub\www.contoso.com\wwwroot"
applicationCollection.AddElement(virtualDirectoryElement)
siteCollection.AddElement applicationElement
sitesCollection.AddElement siteElement

adminManager.CommitChanges()