2014-02-04 4 views
1

Я работаю через массивный сайт, который унаследовал, который имеет смесь классического ASP, встроенного ASP.NET и скомпилированного ASP.NET, и все те используют теги #INCLUDE в той или иной форме. Я играл с IIS и переписывал/переписывал карты и, похоже, нашел рабочее решение, чтобы получать запросы на страницы для перенаправления на новые версии, поскольку я медленно конвертирую этот сайт в полезное решение, однако любая страница, запрашиваемая как #INCLUDE (в отличие от прямого запроса пользователя), похоже, не соблюдает переписывание или переписывание карт. Если я посещаю включенную страницу напрямую, она перезаписывается, как ожидалось, но на странице, на которой размещается URL-адрес на #INCLUDE, нет.Перенаправление #Include в IIS

Я вполне уверен, что понимаю, почему это произошло (оно не запрашивается напрямую, поэтому перезаписи/переадресации не вступают в игру, просто обрабатываются как пользовательский элемент управления), поэтому любые рекомендации для этого происходят? Обычно я бы сказал, просто исправить файлы, которые используют include, чтобы указать на новое местоположение, но на сайте есть 4,221 веб-файлов, разбросанных по сотням папок с более чем 1MM-изображениями. В поисках строк, таких как имя файла в этом беспорядке берет навсегда, поэтому я пытаюсь найти что-то на более высоком уровне, чтобы справиться с этим для меня.

Мысли?

+1

Каков тип пути в директиве #include? «Файл» или «Виртуальный»? – MauriDev

+0

Для нескольких страниц, которые я видел, это '#INCLUDE VIRTUAL'. Я могу честно сказать, что я не знаю разницы. – RubyHaus

ответ

1

Как вы говорите: #INCLUDE не является HTTP-запросом и поэтому никогда не затрагивает URL-адрес Rewrite или его переписывающие карты. Процесс включения выполняется интерпретатором ASP внутри страны.

Возможно, вы можете решить это с помощью виртуальных каталогов (в зависимости от ваших конкретных требований), поскольку интерпретатор ASP может включать файлы, содержащиеся в виртуальных каталогах. Трудно предложить точные решения с ограниченными сведениями, которыми вы делились.

+0

Я бы хотел, чтобы это был вариант, но так как это 10-летний сайт, все файлы include все - некоторые в корне, некоторые из них включают папку, а некоторые - в папку «imagesv» - это беспорядок. Какие еще детали вы бы искали? Я новичок в этом, так что это немного из моего царства. – RubyHaus

+0

@digitall Для начала: какие новые версии скриптов вы создаете? Предположительно, вы не планируете конвертировать эти 4,221 страницы по одному, чтобы в итоге получить идентичную систему с 4221 файлами, написанными по другой технологии? Наверняка, вы не заменяете отдельные файлы include новыми ASP classic? Вы не указали много информации о том, что ваш план или как вы собираетесь работать, поскольку вы медленно его конвертируете, поэтому мне сложно предложить что-то конкретное. – Polynomial

+0

@digitall Но в основном ответ - нет. Единственные способы, с помощью которых я могу найти файл #INCLUDE, можно найти через файловую систему или виртуальные каталоги. Если файл не может быть найден прямо или косвенно в этих целях, вам придется найти/заменить имена путей во всех файлах. – Polynomial