2009-10-24 16 views

Respuesta

37

Así es como se debe hacer:

C: \ Windows \ System32 \ inetsrv>appcmd set vdir "/ MySite" -physicalPath: "C: \ inetpub \ temp"

Nota: "MySite /" es un nombre de su directorio virtual de modo que si el directorio virtual está en el sitio web por defecto es muy probable que tenga que ajustar "sitio web predeterminado/MySite /"


en cuanto a encontrar la manera de hacer otros comandos de aplicación simplemente escriba: appcmd set vdir /?

y obtendrá toda la información sobre lo que puede hacer para establecer su directorio virtual.

Aún más específicamente, si quiere saber qué configuraciones puede cambiar para el tipo de directorio virtual específico: appcmd set vdir "MySite /" /?

Estos ejemplos son sólo para el directorio virtual que se aplican a otros comandos appcmd Esperanza

esto ayuda

+1

Esto no respondieron a la pregunta. Como dije, necesito cambiar la ruta física de un sitio web, no un directorio virtual. Además, la pregunta era que no puedo descifrar la sintaxis. Soy consciente de /?. La ayuda producida con eso no describe claramente cómo debería verse la sintaxis. – Wolverine

+3

@Frank Edwards - 1. Supongo que no ha probado mi respuesta 2. En IIS 7.0, cada * sitio * debe tener una aplicación y cada aplicación debe tener un * directorio virtual *. El directorio virtual raíz de su sitio apunta a la ruta física del sitio.Para comprender mejor el concepto de sitio/aplicación/directorio virtual, sugiero leer este artículo: http://learn.iis.net/page.aspx/150/understanding-sites-applications-and-virtual-directories-in-iis- 70/especialmente la sección con el título * Configuración de IIS 7.0: Sección * – Enes

+0

si crea un sitio con appcmd agrega sitio/Nombre: test no podrá agregar un phyiscalPath después, debe crear el sitio con (por lo menos) appcmd añadir sitio/Nombre: prueba/physicalPath: "C: \ inetpub \ wwwroot \ mysite" "prueba /" que se traduce en "prueba" sITIO objeto agregado "prueba /" APP objeto agregado objeto VDIR agregó que luego le permite cambiar el vdir phyisicalPath en una fecha posterior – rob

4

La respuesta anterior es correcta. Esto es lo que podría parecer para configurar el sitio web predeterminado y un par de otros directorios virtuales. Queremos que el sitio web por defecto para estar en D: con un nombre único camino especial para la aplicación, pero dos de los directorios virtuales pertenecemos nuevo en C: con sus propios caminos:

C:\windows\system32\inetsrv\appcmd.exe set vdir "Default Web Site/" -physicalPath:"D:\MyUniquePath" 
C:\windows\system32\inetsrv\appcmd.exe set vdir "Default Web Site/OtherWebSite" -physicalPath:"C:\OtherWeb\ApplicationServer\web" 
C:\windows\system32\inetsrv\appcmd.exe set vdir "Default Web Site/ExtraPlugins" -physicalPath:"C:\OtherWeb\ApplicationServer\plugins" 

La sintaxis es fácil, pero determinar la cadena exacta que toma appcmd para el directorio virtual puede ser complicado.

3

Para obtener una lista de directorios virtuales por sitio y nombre de aplicación para ayudar a asegurarse de que está intentando establecer lo correcto.

C:\Windows\System32\inetsrv\appcmd.exe list apps /config /xml 

tubería opcionalmente que |more y/o mode con cols=160 esta expresión regular sacó las partes quería

var q= from siteApp in config.XPathSelectElements("appcmd/APP") 
     let appName=siteApp.Attribute(XNamespace.None+"APP.NAME").Value 
      from app in siteApp.XPathSelectElements("application") 
     let appPath=app.Attribute(XNamespace.None+"path").Value 
     let pool=app.Attribute(XNamespace.None+"applicationPool").Value 
     let vd=app.XPathSelectElements("virtualDirectory[@path]") 
     let virtuals=vd.Select (v => new{VirDir=v.Attribute(XNamespace.None+"path").Value,PhysicalPath=v.Attribute(XNamespace.None+"physicalPath").Value}) 
     let xvirtuals=virtuals.Select (v => new{ VirDir=v.VirDir, 
      PhysicalPath=v.PhysicalPath, 
      EnvRoot=v.PhysicalPath.ToString().StartsWith("%")}) 
     select new{AppName=appName,AppPath=appPath, Pool=pool,Virtuals=xvirtuals}; 

es así, para un sitio específico se convierte en appcmd.exe set vdir "DefaultWebSite/jms" -physicalPath:"c:\inetpub\wwwroot\mytargetPath"

aquí está la sustitución de variables:

appcmd.exe set vdir " + + AppName virt.VirDir + " -physicalPath:" + + targetPath "

y mirar a los ajustes de configuración sólo para ese sitio:

C:\Windows\System32\inetsrv\appcmd.exe list apps /config /xml /path:/jms 

otro uso a tener en cuenta:

C:\Windows\System32\inetsrv\appcmd.exe list apps /metadata /config:* /xml 
5

La siguiente funciona para mí en IIS 7.5.Cambia la ruta física de la página web:

appcmd set site /site.name:"website name" /application[path='/'].virtualDirectory[path='/'].physicalPath:"C:\new\path" 

escriba lo siguiente para obtener una lista completa de propiedades que se pueden configurar:

appcmd set site /site.name:"website name" /? 

Reference

2

Y en caso de que usted está tratando de cambiar la ruta física de una aplicación web, aquí hay un ejemplo que cambia la aplicación web "Spockadoodle" que se crea en el sitio web "Sitio web predeterminado" para tener la ruta física "C: _junk".

appcmd set app /app.name:"Default Web Site/spockadoodle" -[path='/'].physicalPath:c:\_junk 

Me di cuenta de esto mediante la ejecución del comando:

appcmd set app /app.name:"Default Web Site/spockadoodle" /? 

y en la salida me observó

ERROR (message:-path 
-applicationPool 
-enabledProtocols 
... 
-[path='string'].physicalPath 

y antes de eso, en la salida del comando

appcmd set apps /? 

la salida mencionada:

Ejemplo: appcmd set aplicación "Sitio Web predeterminado /"/enabledProtocols: http

Sets the "enabledProtocols" property of the application "Default Web 
Site/". 

Así, a partir del ejemplo citando cómo configurar "enabledProtocols", sustituí el ejemplo de [ruta = 'cadena']. physicalPath

para conocer el valor de la expresión de atributo [path = 'cadena'] he observado en la salida del comando

appcmd list app "Default Web Site/spockadoodle" /config 

resultado muestra que la aplicación web de Spockadoodle tiene trayectoria valor attribtue "/":

< ruta de la aplicación = "/ spockadoodle" ApplicationPool = "IRServices">

< virtualDirectoryDefaults />

< VirtualDirectory path = "/" physicalPath = "c: _junk" />

</application>

Además, me di cuenta de utilizar el identificador /app.name a partir de ejemplos en el sitio web http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe

+0

Algunas explicaciones fueron muy útiles. Gracias. –

Cuestiones relacionadas