Переименование приложений в IIS 7.0 - PullRequest
22 голосов
/ 16 апреля 2011

Общеизвестно, что вы не можете редактировать псевдоним приложения во время редактирования настроек приложения через оконный интерфейс IIS Manager. Псевдоним приложения имеет серый цвет (не допускается к изменению). Но в этой статье вы можете найти, как это сделать с помощью утилиты командной строки:

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) выполняет дополнительную работу, кроме переименования имени приложения?

Ответы [ 3 ]

20 голосов
/ 12 сентября 2014

Мне недавно пришлось это сделать, и я думаю, что вам лучше использовать 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

7 голосов
/ 19 августа 2016

Я недавно использовал appcmd, чтобы без проблем изменить имя веб-приложения. Я запустил командную строку с правами администратора: -

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

Работает угощение :) 1005 *

3 голосов
/ 17 апреля 2011

Все, что здесь происходит, независимо от того, какой метод вы используете, это то, что имя пути приложения изменяется.

В этом нет никакой магии.Очевидно, что любые пути в вашем веб-приложении, которые зависели от старого имени пути, нужно было бы переименовать.

Возможно, вы найдете мой ответ на этот вопрос полезным для понимания механики виртуальных каталогов и приложений в IIS7:

Использование ServerManager для создания приложения в приложении

...