2011-04-16 19 views
17

众所周知,通过IIS管理器的窗口界面编辑应用程序设置时,您不允许编辑应用程序别名。应用程序的别名具有灰色(不允许更改)。但在本文中,你会发现如何通过命令行实用软件做到这一点:在IIS 7.0中重命名应用程序

http://www.foliotek.com/devblog/rename-applications-and-virtual-directories-in-iis7/

但有一个另一种方式来做到这一点。

http://learn.iis.net/page.aspx/150/understanding-sites-applications-and-virtual-directories-on-iis-7/#Configuration

在设置文件中我只是改变了在应用元素,并没有更多的路径属性的值(“/站点1”):因为它是写在这篇文章中,您可以编辑设置文件:

<application path="/Site1" applicationPool="DefaultAppPool"> 
    <virtualDirectory 
     path="/" 
     physicalPath="C:\Sites\Site1" /> 
</application> 

问题是,我不知道这两种方式是否相同,并有相同的结果。也许命令行工具(appcmd)会做一些额外的工作,除了重命名应用程序名称?

+2

devblog.foliotek.com链接已更改。改为使用http://www.foliotek.com/devblog/rename-applications-and-virtual-directories-in-iis7/。 – 2016-03-03 21:02:57

回答

3

无论您使用哪种方法,此处发生的所有事情都是应用程序路径的名称已更改。

真的没有魔法。显然,依赖旧路径名的Web应用程序中的任何路径都需要重命名。

你可能会发现我回答这个问题在IIS7获得虚拟目录和应用力学的理解有用:

Using ServerManager to create Application within Application

14

最近,我不得不这样做,我认为你最好使用appcmd,因为正如你所说,我们不知道幕后有什么变化。

例,

appcmd list app 

APP "Default Web Site/" (applicationPool:DefaultAppPool) 
APP "Default Web Site/develop" (applicationPool:mypool) 
APP "Default Web Site/develop/xyz" (applicationPool:mypool) 

在我的情况,我也要做从孩子开始重命名。否则,appcmd将找不到子站点。例如

appcmd set app "Default Web Site/develop/xyz" -path:/B455/xyz 
appcmd set app "Default Web Site/develop" -path:/B455 

appcmd list app 

APP "Default Web Site/" (applicationPool:DefaultAppPool) 
APP "Default Web Site/B455" (applicationPool:mypool) 
APP "Default Web Site/B455/xyz" (applicationPool:mypool) 

注:APPCMD可以在%WINDIR发现%\ SYSTEM32 \ INETSRV

+1

而且,更新配置文件对我不起作用。运行appcmd的窍门。 +1 – Perry 2014-10-01 18:43:18

+1

有用的提示,谢谢 – kaveman 2014-12-05 22:15:19

+0

如果您提供的路径参数不可见,则可能无法轻松访问该应用程序来解决该问题。当我尝试这个时,应用程序的身份验证设置没有按照应用程序的新名称。谨慎使用。 – Brian 2016-08-23 13:59:37

3

我已经使用appcmd最近更改网站应用程序的名称没有问题。我跑了命令提示符作为管理员则: -

cd c:\windows\syswow64\inetsrv\ 
appcmd set app WebsiteName/applicationname -path:"/newapplicationname" 

工程请客:)