Как создать перенаправление HTTP из виртуального каталога с помощью C # - PullRequest
2 голосов
/ 03 июня 2011

Я могу создать перенаправление http в моем IIS, используя следующий код.Тем не менее, он создает перенаправление только для основного сайта «MySite».Как программно добавить перенаправление в виртуальный каталог?Есть ли какие-то настройки, которые мне нужно установить при создании VD?Спасибо!

ServerManager iisManager = new ServerManager();
Configuration config = iisManager.GetWebConfiguration("MySite");
ConfigurationSection httpRedirectSection =  config.GetSection("system.webServer/httpRedirect");
httpRedirectSection["enabled"] = true;
httpRedirectSection["destination"] = @"http://www.google.com";
httpRedirectSection["exactDestination"] = false;
httpRedirectSection["httpResponseStatus"] = @"Found";

iisManager.CommitChanges();

Ответы [ 2 ]

0 голосов
/ 24 ноября 2014

Если вы размещаете его в IIS 7+, вы можете использовать web.config.

Поместить web.config в каталог, а затем добавить

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <httpRedirect enabled="true" destination="/[PathFromRoot]/" childOnly="true" httpResponseStatus="Temporary" />
  </system.webServer>
</configuration>

.свойства здесь

0 голосов
/ 03 июня 2011

Шон,

То, что делает ваш код, по сути модифицирует файл web.config для вашего сайта.Виртуальный каталог, скорее всего, настроен как приложение, поэтому у него будет собственный файл web.config.Вы пытались сделать то же самое, но просто изменили:

Configuration config = iisManager.GetWebConfiguration("MySite/VirtDirName");

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

http://www.iis.net/ConfigReference/system.webServer/httpRedirect

http://msdn.microsoft.com/en-us/library/ms178685.aspx

...