httpModules 不适用于 iis 7.5 进行 url 重写/扩展较少的 url(给出错误 500.0)

发布于 2024-12-13 19:29:11 字数 986 浏览 0 评论 0原文

我正在使用 IHttpModule 进行 URL 重写。如果我编写的路径没有扩展名(aspx),则应用程序在本地运行但在服务器应用程序上运行会出现错误。

我在 Web 配置中注册了 URL 重写模块,例如

   <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
         <modules>
      <add name="URLRewriteModule" type="URLRewriteModule" preCondition="ManagedHandler" />
    </modules>
    <defaultDocument>
      <files>
        <add value="Login.aspx" />
      </files>
    </defaultDocument>
  </system.webServer>

ExtensionlessUrlHandler-Integrated-4.0、ExtensionlessUrlHandler-ISAPI-4.0_64bit、ExtensionlessUrlHandler-ISAPI-4.0_32bit 处理程序也在那里。然后我还收到以下错误

HTTP 错误 500.0 - 内部服务器错误

Module ManagedPipelineHandler

Notification ExecuteRequestHandler

Handler ExtensionlessUrlHandler-Integrated-4.0

<强>错误代码0x800703e9

I am using URL rewriting with IHttpModule. Application work on local but on server application give error if I written path without extension (aspx).

I had register URL rewriting module in web config like

   <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
         <modules>
      <add name="URLRewriteModule" type="URLRewriteModule" preCondition="ManagedHandler" />
    </modules>
    <defaultDocument>
      <files>
        <add value="Login.aspx" />
      </files>
    </defaultDocument>
  </system.webServer>

And also ExtensionlessUrlHandler-Integrated-4.0, ExtensionlessUrlHandler-ISAPI-4.0_64bit, ExtensionlessUrlHandler-ISAPI-4.0_32bit handler are there. Then also I am getting following error

HTTP Error 500.0 - Internal Server Error

Module ManagedPipelineHandler

Notification ExecuteRequestHandler

Handler ExtensionlessUrlHandler-Integrated-4.0

Error Code 0x800703e9

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雪花飘飘的天空 2024-12-20 19:29:11

我认为你错过了一个配置。

以下是一个示例,自定义 http 模块应在 system.web 节点和 system.webserver 节点中配置

  <system.web>
<compilation debug="true" targetFramework="4.0" />
<httpModules>
  <add name="CustomHttpModule" type="Routing_Static_Page_Demo.WebModule.CustomHttpModule, Routing_Static_Page_Demo" />
</httpModules>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule"/>
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, 
                                    System.Web, 
                                    Version=4.0.0.0, 
                                    Culture=neutral, 
                                    PublicKeyToken=b03f5f7f11d50a3a" />
  <add name="CustomHttpModule" type="Routing_Static_Page_Demo.WebModule.CustomHttpModule" />
</modules>

I think you have miss a config.

The following is an example, custom http module should be configed both in system.web node and system.webserver node

  <system.web>
<compilation debug="true" targetFramework="4.0" />
<httpModules>
  <add name="CustomHttpModule" type="Routing_Static_Page_Demo.WebModule.CustomHttpModule, Routing_Static_Page_Demo" />
</httpModules>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule"/>
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, 
                                    System.Web, 
                                    Version=4.0.0.0, 
                                    Culture=neutral, 
                                    PublicKeyToken=b03f5f7f11d50a3a" />
  <add name="CustomHttpModule" type="Routing_Static_Page_Demo.WebModule.CustomHttpModule" />
</modules>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文