Intellegencia urlrewriter не работает, показывая, что страница 404 не найдена

Это некоторые выдержки из моего файла web.config на сервере разработки. URL-адрес Intelligencia был в порядке, но при развертывании на производстве (IIS 5 на обоих серверах) он возвращает страницу, не найденную (ошибка 404) на каждом переписанном URL-адресе, кроме того, у которого ~/(значение guid).aspx/value (переписанный URL-адрес) работает

      <section name="rewriter" requirePermission="false" 
                                                                                               type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, 
                        Intelligencia.UrlRewriter"/>

        <system.webServer>

            <modules runAllManagedModulesForAllRequests="true">


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


        </modules>

        <validation validateIntegratedModeConfiguration="false"/>

    <modules>

 </modules>

                 <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD"                      type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>

     </handlers>
           </system.webServer>
            <httpModules>

         <add name="ScriptModule" type="System.Web.Handlers.ScriptModule,                        System.Web.Extensions,               Version=1.0.61025.0, Culture=neutral,                          PublicKeyToken=31bf3856ad364e35"/>
             <add                                                                                                  type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" 
        name="UrlRewriter"/>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>

      </httpModules>

<rewriter>
    <rewrite url="~/myone/tags/(.+)" to="~/myone/tagpage.aspx?tag=$1"/>

  <add  verb="GET,HEAD" path="ScriptResource.axd"     type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>


          <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory,               Elmah"/>

    </httpHandlers>

person Zara_me    schedule 10.02.2011    source источник


Ответы (2)


У нас есть похожее правило, которое использует (.*) вместо (.+). Может сработать для вас (если это приемлемо для ваших вариантов использования).

person Ben Jakuben    schedule 10.02.2011

  1. Запустите -> inetmgr -> выберите свой веб-сайт -> щелкните правой кнопкой мыши свойства и выберите Конфигурация.

  2. Выберите C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll в исполняемых файлах и в месте расширения.

  3. Снимите флажок «ПРОВЕРИТЬ, ЧТО ФАЙЛ СУЩЕСТВУЕТ».

person Zara_me    schedule 10.02.2011