IIS 7.5 (Express) applicationhost.config: Чи може фізичний шлях virtualDirectory бути відносним шляхом?


9

Я налаштовую сайт applicationhost.configдля IIS 7.5 Express:

<site name="default" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_BIN%\..\Somewhere\Else" />
                                            <!-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -->
    </application>
    ...
</site>

Я виявив, що визначення відносних шляхів, як показано, не працює, і призведе до HTTP 500.19 Internal Server Error. Далі IIS повідомляє про код помилки 0x8007007b, який, здається, після деякого гуглінгу вказує на недійсний синтаксис шляху до файлу.

Чи є спосіб обходити цю помилку, щоб я міг використовувати відносний фізичний шлях для кореня мого сайту?

Відповіді:


6

На жаль, немає. Це повинен бути повний фізичний шлях. Поки ви не плануєте часто змінювати шлях до свого веб-сайту, статичний шлях не повинен бути проблемою. Якщо ви часто змінюєте свій шлях до різних екземплярів сайту, ви можете розглянути можливість використання appcmd для скрипту змін, щоб вони отримували всі папки.


1
Якщо було б добре для розробника, наприклад, при розгалуженні, якщо Vdir міг бути відносно файлу конфігурації, який можна перевірити в контролі джерела. Будь-які ідеї, як це зробити?
PilotBob

3
Відносні шляхи не підтримуються в поточних версіях IIS, на жаль, тому найчистішим рішенням є використання одного і того ж шляху на кожній машині. Якщо у вас повинні бути різні шляхи на різних машинах (я припускаю, що розробляються машини), ви можете спробувати змінну середовища. Створіть змінну системного середовища, щоб вона була доступною для IIS, і використовуйте її для кореня шляху в окремих системах.
Скотт Форсайт - MVP

2
Схоже, деякі змінні середовища підтримуються, хоча, напр <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />.
Уве Кеїм

@UweKeim Ви маєте рацію, це працює з поточною версією IIS. IIS 10 підтримує змінні в PhysicalPath зараз. Зауважте, що% IIS_SITES_HOME% призначений для IIS Express. Ця змінна не існує в повній версії IIS. Однак інші змінні системи працюють.
Скотт Форсайт - MVP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.