Можно ли заставить Intelligencia.UrlRewriter работать в IIS7? - PullRequest
15 голосов
/ 05 марта 2009

Мы унаследовали приложение, которое использует модуль Intelligencia.UrlRewriter. Наше окружение - IIS7. Мы уже настроили наш сайт для работы в классическом пуле приложений asp.net (который явно работает для многих подобных проблем). Однако мы до сих пор не видим, чтобы URL-адреса в нашем приложении были переписаны.

Кто-нибудь сталкивался с этим?

Ответы [ 4 ]

21 голосов
/ 05 марта 2009

Вам необходимо определить конфигурацию в элементе system.webServer, например:

    <system.webServer>
         <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
  <add name="UrlRewriter" 
   type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
        </modules>
    </system.webServer>

Вы можете сохранить обе конфигурации. То, что вы, вероятно, сейчас имеете:

<httpModules>
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
        </httpModules>

Проверьте раздел «Перенос приложений ASP.NET в интегрированный мод IIS 7.0» на http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis7/

пс. Я использовал его без каких-либо проблем, пока эта конфигурация.

Обновление 1: Также проверьте http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx,, в частности, «Подход 3: Использование HttpModule для выполнения перезаписи URL без расширения с IIS7», поскольку добавленный мною конфигурационный файл имеет конфигурацию без расширения .

1 голос
/ 14 марта 2011

Не забудьте добавить следующие строки в раздел system.webServer вашего файла web.config, если вы используете IIS7

<system.webServer>
<modules runAllManagedModulesForAllRequests=”true”>
<add name=”UrlRewriter” type=”Intelligencia.UrlRewriter.RewriterHttpModule” />
</modules>
<validation validateIntegratedModeConfiguration=”false” />
</system.webServer>

Как и в

http://frozengraphics.wordpress.com/2009/12/06/intelligencia-urlrewriter-and-iis7/

1 голос
/ 17 декабря 2009

Я заметил ту же проблему, после нескольких попыток я обнаружил, что поменял режим asp на интегрированный конвейер.

1 голос
/ 05 марта 2009

Да, у меня была точно такая же проблема с модулем Intelligencia.UrlRewriter, работающим под Win Vista и IIS7, но переключение на классический пул приложений asp.net решило эту проблему. Вы запускаете приложение в новом виртуальном каталоге? Иногда это может привести к путанице с корневым путем к приложению, что может повлиять на правила в web.config

...