Это на самом деле не ответ, а скорее подтверждение вашей проблемы. Но посмотрите на один из возможных способов, которым virtual
может работать для вас, в конце моего ответа.
Из сообщения в блоге MSDN IIS: заметки о серверном включении (SSI) (синтаксис KB 203064) (от 2010-12-28; применяется к версиям IIS с 4.0 по 7.5)
Дополнительная информация о файловом и виртуальном синтаксисе
Директивы SSI, использующие пути к файлам, могут ссылаться на файлы с помощью file или virtual path.
- Элемент file используется с файлами, относящимися к папке текущего документа. Следующий пример включает файл в текущей папке:
<!--#include file="myfile.txt"-->
- Элемент virtual представляет пути относительно базовой папки веб-сервера. В следующем примере файл находится в виртуальной папке / scripts:
<!--#include virtual="/scripts/myfile.txt"-->
Вывод: Атрибут file
используется для обозначения местоположения файла относительно текущего документа. Итак, если это то, что нужно в вашей ситуации, вам действительно нужно изменить атрибут virtual
на атрибут file
.
Однако есть одно возможное исключение. Статья На стороне сервера включает в Википедии показывает следующий пример:
<!--#include virtual="menu.cgi" -->
Это подсказывает мне, что virtual
путь к файлу не обязательно должен начинаться с /
. При отсутствии ведущего /
расположение файла virtual
определяется относительно базовой папки веб-сервера.
Итак, мне кажется, что атрибуты file
и virtual
могут вести себя одинаково , если файлы, на которые ссылаются, оказываются расположенными в базовой папке (или подпапках) базовой папки) веб-сервера.