2009-10-24 12 views

Odpowiedz

37

ten sposób należy zrobić:

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

Uwaga: „MySite /” to nazwa wirtualnego katalogu, więc jeśli Twój wirtualny katalog jest na podstawie domyślnej witryny internetowej jesteś prawdopodobnie trzeba ustawić „Default Web Site/MySite /”


chodzi o zastanawianie się, jak to zrobić inne polecenia appcmd wystarczy wpisać: appcmd zestaw vdir /?

, a otrzymasz wszystkie informacje o tym, co możesz zrobić, aby ustawić swój katalog wirtualny.

Jeszcze dokładniej, jeśli chcesz się dowiedzieć, jakie ustawienia możesz zmienić dla określonego typu katalogu wirtualnego: appcmd zestaw vdir "MySite /" /?

Te przykłady są tylko dla katalogu wirtualnego przez ich zastosowanie do innych appcmd poleceń

Nadzieja to pomaga

+1

Ten nie odpowiedział na pytanie. Jak stwierdziłem, muszę zmienić fizyczną ścieżkę strony internetowej, a nie katalogu wirtualnego. Pojawiło się również pytanie, że nie potrafię zrozumieć składni. Jestem swiadomy /?. Wyprowadzona z tym pomoc nie wyjaśnia w jasny sposób, jak powinna wyglądać składnia. – Wolverine

+3

@Frank Edwards - 1. Zakładam, że nie przetestowałem mojej odpowiedzi 2. W IIS 7.0 każda * witryna * musi mieć aplikację, a każda aplikacja musi mieć * wirtualny katalog *. Główny katalog wirtualny witryny wskazuje na fizyczną ścieżkę witryny.Aby lepiej zrozumieć koncepcję strony/aplikacji/katalogu wirtualnego, sugeruję przeczytanie tego artykułu: http://learn.iis.net/page.aspx/150/understanding-sites-applications-and-virtual-directories-in-isis- 70/zwłaszcza sekcja z tytułem * IIS 7.0 Konfiguracja: Sekcja * – Enes

+0

jeśli utworzysz witrynę z appcmd dodaj stronę/Name: test nie będziesz mógł później dodać phyiscalPath, musisz stworzyć stronę za pomocą (przynajmniej) appcmd dodaj stronę/Name: test/physicalPath: "C: \ inetpub \ wwwroot \ mysite" co powoduje Obiekt SITE "test" dodany Obiekt APP "test /" dodano Obiekt VDIR "test /" dodano , która następnie pozwala zmienić vdir phyisicalPath w późniejszym terminie – rob

4

Odpowiedź powyżej jest poprawne. Oto, jak może wyglądać ustawienie domyślnej strony internetowej i kilku innych katalogów wirtualnych. Chcemy domyślnej witryny sieci Web, aby być na D: ze szczególnym unikalnej nazwy ścieżki do aplikacji, ale dwa z katalogów wirtualnych należą powrotem na C: z własnymi ścieżkami:

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" 

Składnia jest łatwe, ale określenie dokładnego łańcucha, który appcmd ma dla katalogu wirtualnego, może być trudne.

3

Aby uzyskać listę katalogów wirtualnych według nazwy witryny i aplikacji, aby upewnić się, że próbujesz ustawić właściwą rzecz.

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

ewentualnie rura że |more i/lub mode con cols=160 ten regex wyciągnął części chciałem

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}; 

więc wtedy na konkretnym miejscu staje appcmd.exe set vdir "DefaultWebSite/jms" -physicalPath:"c:\inetpub\wwwroot\mytargetPath"

oto podstawienia zmiennej:

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

i patrzeć w ustawieniach konfiguracyjnych tylko dla tej strony:

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

innego wykorzystania mieć świadomość:

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

Poniższy działa dla mnie w IIS 7.5.To zmienia fizyczną ścieżkę strony:

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

Wpisz następujący, aby uzyskać pełną listę właściwości, które można ustawić:

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

Reference

2

A w przypadku, gdy próbuje zmienić fizyczną ścieżkę aplikacji sieciowej, tutaj jest przykład zmieniający aplikację internetową "Spockadoodle", która jest tworzona w witrynie sieci Web "Default Web Site", aby mieć fizyczną ścieżkę "C: _junk".

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

I zdobione to przez uruchomienie komendy:

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

i wyjścia I zaobserwowano

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

i przed, że wyjście polecenia

appcmd set apps /? 

dane wyjściowe:

Przykład: appcmd zestaw aplikacji "Default Web Site /"/enabledProtocols: http

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

Więc z przykładu powołując jak ustawić "enabledProtocols" I podstawiony przykład [ścieżka = „ciąg”]. ścieżka_fizyczna

znać wartość dla ekspresji atrybut [ścieżka = STRING] że obserwowana na wyjściu polecenia

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

wyjście pokazuje, że Web App Spockadoodle ma ścieżki wartość attribtue "/":

< ścieżkę aplikacji = "/ spockadoodle" applicationPool = "IRServices">

< virtualDirectoryDefaults />

< virtualDirectory ścieżka = "/" ścieżka_fizyczna = "C: _junk" />

</application>

także zorientowali się użyć identyfikatora /app.name z przykładów na stronie http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe

+0

Niektóre wyjaśnienia były bardzo pomocne. Dziękuję Ci. –

Powiązane problemy