Condividi tramite


Siti <>

Panoramica

Il <sites> gruppo di sezioni contiene le impostazioni di configurazione per tutti i siti in un server IIS 7. L'elemento <sites> contiene una raccolta di <site> elementi. Quando si crea un nuovo sito Web, IIS aggiunge un <site> elemento alla raccolta.

Ogni <site> elemento contiene le impostazioni di configurazione per un sito Web separato ospitato nell'installazione di IIS 7. Ad esempio, il sito Web predefinito e le relative impostazioni sono definiti in un <site> elemento che si trova tra i tag di apertura e chiusura dell'elemento <sites> . Gli elementi di configurazione per qualsiasi sito aggiuntivo creato si trovano anche in tale posizione.

Il <sites> gruppo di sezioni può contenere anche gli <siteDefaults>elementi , <applicationDefaults>e <virtualDirectoryDefaults> . L'elemento <siteDefaults> definisce le impostazioni di configurazione predefinite per qualsiasi sito in esecuzione nel server, l'elemento <applicationDefaults> definisce le impostazioni di configurazione predefinite per qualsiasi applicazione in esecuzione nel server e l'elemento <virtualDirectoryDefaults> definisce le impostazioni di configurazione predefinite per qualsiasi directory virtuale in esecuzione nel server.

Compatibilità

Versione Note
IIS 10.0 L'elemento <sites> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <sites> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <sites> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <sites> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <sites> è stato introdotto in IIS 7.0.
IIS 6.0 L'insieme <sites> sostituisce l'oggetto metabase IIS 6.0 IIsWebServer .

Installazione

L'elemento <sites> è incluso nell'installazione predefinita di IIS 7.

Procedure

Quando si configura un nuovo sito Web in IIS 7, è necessario assegnare al sito Web un nome di sito e un percorso fisico. Sono disponibili anche diverse impostazioni di configurazione facoltative che è possibile impostare. Se si prevede di continuare a utilizzare il sito Web predefinito nel server IIS 7, è necessario modificare le informazioni di associazione per il nuovo sito. A tale scopo, è possibile modificare la porta o immettere un nome host per il nuovo sito Web.

Come creare un nuovo sito Web

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni espandere il nome del server e quindi fare clic su Siti.

  3. Nel riquadro Azioni fare clic su Aggiungi sito Web...

  4. Nella finestra di dialogo Aggiungi sito Web immettere almeno le informazioni nelle caselle di testo Nome sito e Percorso fisico e scegliere se immettere le informazioni nella casella di testo Nome host o modificare il numero nella casella Porta .
    Screenshot della finestra di dialogo Aggiungi sito Web che mostra i campi Nome sito e Percorso fisico.

  5. In Gestione IIS fare clic sul pulsante Aggiorna per verificare che il sito sia stato avviato.

Configurazione

L'elemento viene <sites> configurato a livello di server nel file ApplicationHost.config.

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
applicationDefaults Elemento facoltativo.

Specifica le impostazioni predefinite per tutte le applicazioni nel server.
site Elemento facoltativo.

Specifica le impostazioni di configurazione per un sito.
siteDefaults Elemento facoltativo.

Specifica le impostazioni predefinite per tutti i siti nel server.
virtualDirectoryDefaults Elemento facoltativo.

Specifica le impostazioni predefinite per tutte le directory virtuali nel server.

Esempio di configurazione

L'elemento predefinito <sites> seguente viene configurato nel file di ApplicationHost.config radice in IIS 7.

<sites>
   <site name="Default Web Site" id="1">
      <application path="/">
         <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
      </application>
      <bindings>
         <binding protocol="http" bindingInformation="*:80:" />
      </bindings>
   </site>
   <siteDefaults>
      <logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" />
      <traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />
    </siteDefaults>
   <applicationDefaults applicationPool="DefaultAppPool" />
   <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

Compatibilità

In combinazione con l'elemento , l'elemento <site><sites> sostituisce la proprietà metabase IIS 6.0 IIsWebServer .

Codice di esempio

Gli esempi seguenti creano un nuovo sito Web denominato Contoso con ID 2 e imposta un'associazione per il protocollo HTTP sulla porta 80 con un'intestazione host "www.contoso.com". Il percorso fisico per il nuovo sito Web è 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

Nota

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file 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()