Почему #Include не работает на странице .asp в IIS7? - PullRequest
2 голосов
/ 14 февраля 2009

Симптом:

У меня есть Test_virtual.asp со следующим:

<body>&nbsp;
included content starts here:
<!--#include virtual="/test_included.txt"-->
</body>

test_included.txt содержит только:

Это включенный файл

Когда я захожу на test_virtual.asp, я не вижу текст включенного файла.

ВОЗМОЖНЫЕ ПРИЧИНЫ
Я нашел один отчет, который указал, что Включения отключены по умолчанию в II7: http://tech.mikeal.com/blog1.php/2008/08/05/server-side-includes-for-html-in-iis7

Но в инструкциях предполагается, что у вас есть доступ к панели управления реальной машины.

Ответы [ 2 ]

1 голос
/ 14 февраля 2009

Больше информации: похоже, проблема в том, что Включения отключены по умолчанию. Я понял, что могу добраться до параметра «Обработчик» в диспетчере IIS7, но он говорит мне, что мне нужно управлять ими напрямую в файле конфигурации, так как сайт находится в пуле общих приложений, работающих в режиме Classsic.

Сколько программистов нужно, чтобы решить эту проблему? Никто. Это проблема ИТ.

0 голосов
/ 14 февраля 2009

Попробуйте использовать файл вместо виртуального:

<!--#include file="../test_included.txt"-->

или

<!--#include file="test_included.txt"-->

в зависимости от того, где находится ваш файл.

Я также предполагаю, что классическая поддержка ASP включена для вашего сервера IIS7, так как я уверен, что по умолчанию ее там нет.

Можете ли вы увидеть директиву при просмотре источника в браузере? Это может сказать вам, если оно игнорируется или просто не работает.

...