我需要通過命令行通過appcmd.exe工具更改網站的物理路徑,但我無法弄清楚語法。有人可以幫忙嗎?如何使用APPCMD更改IIS7中網站的物理路徑?
回答
這是你應該怎麼做:
C:\ WINDOWS \ SYSTEM32 \ INETSRV>appcmd設置VDIR 「mysite的/」 -physicalPath: 「C:\的Inetpub \ TEMP」
注意: 「mysite的/」是你的虛擬目錄的名稱,所以如果你的虛擬目錄是默認Web站點下你可能必須設置「默認Web站點/ mysite的/」
至於搞清楚怎麼辦其他appcmd命令只需鍵入:appcmd set vdir /?
你會得到關於你可以做什麼來設置你的虛擬目錄的所有信息。
更具體地說,如果您想知道您可以針對特定虛擬目錄類型更改哪些設置:appcmd set vdir「MySite /」/?
這些例子只是虛擬目錄由他們適用於其他APPCMD命令
希望這有助於
上面的答案是正確的。以下是設置默認網站和其他幾個虛擬目錄的樣子。我們希望默認的網站是在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爲虛擬目錄所用的確切字符串可能會非常棘手。
按網站和應用程序名稱獲取虛擬目錄列表,以幫助確保您嘗試設置正確的事物。該|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
以下適用於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" /?
而如果你試圖更改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」>
< virtualDirectoryDefaults />
< virtualDirectory path =「/」physicalPath =「c:_junk」/>
< /應用>
而且,我想通了,使用來自實例/app.name標識的網站http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe
有些解釋非常有幫助。謝謝。 – 2017-01-18 10:05:05
- 1. IIS7:虛擬目錄共享網站的物理路徑
- 2. IIS7 - 更改服務器配置中所有站點的物理路徑
- 3. 如何在IIS7和C#中更改虛擬目錄的物理路徑?
- 4. 如何設置IIS 7.5網站共享網站物理路徑?
- 5. 如何獲取網站/應用程序的物理路徑
- 6. 如何在IIS7 AppCmd工具中使用IIS6樣式元數據庫路徑?
- 7. 如何使用AppCMD使用網站的名稱測試並查看IIS7中是否存在網站?
- 8. 影響IIS7中網站的日誌路徑使用MSBuildExtensionPack
- 9. 如何使用IIS7 APPCMD通過ID引用站點?
- 10. RewriteRule更改文件的物理路徑
- 11. ServerManager如何獲取磁盤上網站的物理路徑?
- 12. 如何更改xampp中localhost的默認物理路徑?
- 13. 更改ASP.net網站的默認路徑
- 14. 更改產品圖片路徑的路徑的Magento網站
- 15. 更改網站路徑部署
- 16. 更改物理路徑給出了空白網頁
- 17. 如何更改我網站的真實公共路徑?
- 18. 如何防止Visual Studio在applicationhost.config中修改IIS Express站點的物理路徑?
- 19. 如何使用javascript檢測網站路徑中的網段數?
- 20. silverlight中的物理路徑
- 21. Beanstalk中的物理路徑
- 22. 具有相同物理路徑的C#中的域名更改
- 23. 如何將Android.Net.Uri路徑轉換爲xamarin中的物理路徑?
- 24. 更改IIS 7應用程序的物理路徑編程
- 25. 在VS2008項目中更改默認的Webdev.Webserver物理路徑
- 26. 如何更改網址路徑?
- 27. 如何使用appcmd在IIS7中設置debug = false
- 28. 使用appcmd創建網站後的未知網站
- 29. 如何更改站點路徑和使用htaccess創建子域
- 30. IIS7網站資源管理
這對沒有回答這個問題。如前所述,我需要更改網站的物理路徑,而不是虛擬目錄。另外,問題是我無法弄清楚語法。我知道/ ?.輸出的幫助沒有清楚地描述語法的外觀。 – Wolverine 2009-11-09 21:39:32
@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
如果您使用 創建站點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