我需要通过命令行通过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和C#中更改虚拟目录的物理路径?
- 2. 如何设置IIS 7.5网站共享网站物理路径?
- 3. 如何在IIS7 AppCmd工具中使用IIS6样式元数据库路径?
- 4. 如何使用AppCMD使用网站的名称测试并查看IIS7中是否存在网站?
- 5. RewriteRule更改文件的物理路径
- 6. 如何使用IIS7 APPCMD通过ID引用站点?
- 7. ServerManager如何获取磁盘上网站的物理路径?
- 8. 如何更改xampp中localhost的默认物理路径?
- 9. 更改产品图片路径的路径的Magento网站
- 10. 更改网站路径部署
- 11. 如何使用javascript检测网站路径中的网段数?
- 12. Beanstalk中的物理路径
- 13. silverlight中的物理路径
- 14. 如何将Android.Net.Uri路径转换为xamarin中的物理路径?
- 15. 在VS2008项目中更改默认的Webdev.Webserver物理路径
- 16. 如何更改网址路径?
- 17. 如何使用appcmd在IIS7中设置debug = false
- 18. 如何获得知道exe文件路径的物理路径?
- 19. 将物理路径转换为网页路径asp.net
- 20. 如何更改laravel路径?
- 21. 如何更改.android路径
- 22. 如何更改heroku路径?
- 23. 使用Server.Mappath - 物理路径给出,虚拟路径预期
- 24. 如何更改Apache中的URL路径?
- 25. 如何更改phpDocumentor中的php路径?
- 26. 如何更改init.js中的baseUrl路径
- 27. 如何将物理路径转换为虚拟路径在C#
- 28. VS2015 Web Addin项目 - 更改Web服务器物理路径?
- 29. 如何使用BeautifulSoup从相关网站路径获取完整的网站路径
- 30. 如何确定使用php/smarty的网站的路径?
这对没有回答这个问题。如前所述,我需要更改网站的物理路径,而不是虚拟目录。另外,问题是我无法弄清楚语法。我知道/ ?.输出的帮助没有清楚地描述语法的外观。 – 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