Intelligencia.UrlRewriter не работает в IIS8 или IIS Express 8?
Я установил новую Visual Studio 2013 с обновлением 3 на ОС сервера 2012 R2 (это моя тестовая ОС для программирования и SQL)
но недавно, когда я скомпилировал проект с использованием IIS Express, я столкнулся с ошибкой 404 для моих сопоставленных URL-адресов, которые используют последнюю версию Intelligencia.UrlRewriter. СТРАНИЦА ОШИБОК СОДЕРЖИТ:
Requested URL http://localhost:2706/technology/Astronomy/2014/9/28/1853.html
Physical Path E:\project\technology\Astronomy\2014\9\28\1853.html
Logon Method Anonymous
Logon User Anonymous
Request Tracing Directory C:\Users\Administrator\Documents\IISExpress\TraceLogFiles\Project
Более подробная информация о моих проектах:
.net framework: 4 Управляемый конвейер. Классика (когда я изменил его на Integrated, ничего не произошло!)
мой файл web.config выглядит следующим образом:
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
,,,
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
,,,
<system.webServer>
<modules>
<remove name="UrlRewriter"/>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" preCondition="managedHandler"/>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="managedHandler"/>
</modules>
,,,
<!--Sample-->
<rewriter>
<rewrite url="~/up/(.+)/(.+)/(.+)/default.html" to="~/client/default.aspx?u=$1&n=$2&pi=0&ps=5"/>
1 ответ
Решение
Я изменил эту настройку и теперь она работает:
в свойствах проекта я поменял
Мотель с управляемым трубопроводом: классический -> интегрированный
а также
в файле web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" >
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" preCondition="managedHandler"/>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="managedHandler"/>
</modules>