32

众所周知,通过 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

在设置文件中,我只是更改了应用程序元素的路径属性的值(“/Site1”),仅此而已:

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

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

4

5 回答 5

31

我最近不得不这样做,我认为您最好使用 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 下找到

于 2014-09-12T15:49:12.523 回答
12

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

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

工作一种享受:)

于 2016-08-19T13:10:38.360 回答
3

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

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

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

使用 ServerManager 在 Application 中创建 Application

于 2011-04-17T01:01:19.020 回答
2

使用 Powershell 非常简单:

rename-item IIS:\Sites\yoursitename\yourappname\ newappname

如果缺少 IIS:\ 命名空间,请确保您在服务器上安装了 IIS 管理脚本和工具。您可以从服务器管理器 -> Web 服务器角色 -> 角色服务 -> 管理工具 -> IIS 管理安装它

于 2020-03-25T10:42:37.583 回答
-1

我确实遇到了 appcmd 方法的问题。我的应用程序使用经典 ASP“启用父路径 = True”,并使用该命令重命名将其重置为默认值 False。

于 2021-08-26T13:26:25.630 回答