在IIS 7.0中重命名应用程序

tro*_*ker 26 iis-7 rename appcmd

众所周知,在通过IIS管理器的窗口界面编辑应用程序设置时,不允许编辑应用程序别名.应用程序的别名具有灰色(不允许更改).但在本文中,您可以通过命令行实用程序软件找到如何执行此操作:

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

在设置文件中,我刚刚更改了应用程序元素的path属性的值("/ Site1"),仅此而已:

<application path="/Site1" applicationPool="DefaultAppPool">
    <virtualDirectory
        path="/" 
        physicalPath="C:\Sites\Site1" />
</application>
Run Code Online (Sandbox Code Playgroud)

问题是我不知道这两种方式是否相同并且结果相同.除了重命名应用程序名称之外,命令行实用程序(appcmd)可能会做一些额外的工作吗?

Ale*_*sco 23

我最近不得不这样做,我认为你最好使用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)
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我确实必须从孩子开始重命名.否则,appcmd将找不到子站点.例

appcmd set app "Default Web Site/develop/xyz" -path:/B455/xyz
appcmd set app "Default Web Site/develop" -path:/B455
Run Code Online (Sandbox Code Playgroud)

appcmd list app

APP "Default Web Site/" (applicationPool:DefaultAppPool)
APP "Default Web Site/B455" (applicationPool:mypool)
APP "Default Web Site/B455/xyz" (applicationPool:mypool)
Run Code Online (Sandbox Code Playgroud)

注意:appcmd可以在%windir%\ system32\inetsrv下找到


小智 8

appcmd最近用来更改网站应用程序名称没有问题.我以管理员的身份运行了一个cmd提示符: -

cd c:\windows\syswow64\inetsrv\
appcmd set app WebsiteName/applicationname -path:"/newapplicationname"
Run Code Online (Sandbox Code Playgroud)

一个享受:)


Kev*_*Kev 3

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

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

您可能会发现我对这个问题的回答对于了解 IIS7 中虚拟目录和应用程序的机制很有用:

使用ServerManager在应用程序中创建应用程序