2009-10-24 123 views

回答

37

這是你應該怎麼做:

C:\ WINDOWS \ SYSTEM32 \ INETSRV>appcmd設置VDIR 「mysite的/」 -physicalPath: 「C:\的Inetpub \ TEMP」

注意: 「mysite的/」是你的虛擬目錄的名稱,所以如果你的虛擬目錄是默認Web站點下你可能必須設置「默認Web站點/ mysite的/」


至於搞清楚怎麼辦其他appcmd命令只需鍵入:appcmd set vdir /?

你會得到關於你可以做什麼來設置你的虛擬目錄的所有信息。

更具體地說,如果您想知道您可以針對特定虛擬目錄類型更改哪些設置:appcmd set vdir「MySite /」/?

這些例子只是虛擬目錄由他們適用於其他APPCMD命令

希望這有助於

+1

這對沒有回答這個問題。如前所述,我需要更改網站的物理路徑,而不是虛擬目錄。另外,問題是我無法弄清楚語法。我知道/ ?.輸出的幫助沒有清楚地描述語法的外觀。 – Wolverine 2009-11-09 21:39:32

+3

@Frank Edwards - 1.我假設你沒有測試過我的答案2.在IIS 7.0中,每個*站點*必須有一個應用程序,每個應用程序必須有一個*虛擬目錄*。您的站點的根虛擬目錄指向站點的物理路徑。爲了更好地理解網站/應用程序/虛擬目錄的概念,我建議閱讀本文:http://learn.iis.net/page.aspx/150/understanding-sites-applications-and-virtual-directories-in-iis- 70 /特別是標題* IIS 7.0配置部分:部分* – Enes 2009-11-10 06:39:05

+0

如果您使用 創建站點appcmd添加站點/名稱:測試 您將無法在稍後添加phyiscalPath,您必須使用至少) appcmd add site/Name:test/physicalPath:「C:\ inetpub \ wwwroot \ mysite」 其結果爲 添加了SITE對象「test」 添加了APP對象「test /」 VDIR對象「test /」添加 然後允許您在以後更改vdir phyisicalPath – rob 2013-01-14 09:41:48

4

上面的答案是正確的。以下是設置默認網站和其他幾個虛擬目錄的樣子。我們希望默認的網站是在d:有該應用一種特殊的唯一路徑名,但有兩個虛擬目錄的屬於回C:用自己的道路:

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" 

的語法很容易,但確定appcmd爲虛擬目錄所用的確切字符串可能會非常棘手。

3

按網站和應用程序名稱獲取虛擬目錄列表,以幫助確保您嘗試設置正確的事物。該|more和/或mode con cols=160 這個表達式拉出部分

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

可選管我想

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

所以當時特定的網站就變成 appcmd.exe set vdir "DefaultWebSite/jms" -physicalPath:"c:\inetpub\wwwroot\mytargetPath"

這裏的變量替換:

appcmd.exe set vdir " + APPNAME + virt.VirDir + " -physicalPath:" + TARGETPATH + "

,並在配置設置查找只是網站:

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

另一個使用要注意的:

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

以下適用於IIS 7.5。它改變了網站的物理路徑:

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

鍵入以下命令來獲得屬性的完整列表,您可以設置:

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

Reference

2

而如果你試圖更改Web應用程序的物理路徑,下面是更改Web站點「默認Web站點」下創建的Web應用程序「Spockadoodle」以使物理路徑爲「C:_junk」的示例。

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

我這出通過運行下面的命令:

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

,並在輸出我觀察

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

並在此之前,在命令的輸出

appcmd set apps /? 

輸出提到:

示例:APPCMD設定應用程序的 「默認Web站點/」/ enabledProtocols:HTTP

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

所以,從例子援引瞭如何設置 「enabledProtocols」,我取代的[路徑的例子=「字串」]。physicalPath

要知道我在命令的輸出觀察到的屬性表達[路徑=「字符串」]

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

輸出顯示Web應用程序Spockadoodle具有路徑attribtue值 「/」:

<應用路徑= 「/ spockadoodle」 applicationPool = 「IRServices」>

< virtualDirectoryDe​​faults />

< virtualDirectory path =「/」physicalPath =「c:_junk」/>

< /應用>

而且,我想通了,使用來自實例/app.name標識的網站http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe

+0

有些解釋非常有幫助。謝謝。 – 2017-01-18 10:05:05

相關問題