使用Url重写和应用程序请求路由时出现502错误

时间:2011-09-07 14:41:12

标签: php asp.net iis iis-7 url-rewriting

我正在使用IIS7.5中的应用程序请求路由和URL重写模块来托管Wordpress博客作为我的ASP.NET 4.0站点的子目录。大多数一切都在工作,除了我在Wordpress重定向到php页面时遇到502错误,例如wp-comments-post.php。我无法追查这个问题的根源。我已经在默认网站的wwwroot文件夹中复制了web.config,如果我停止在IIS中设置的网站,并允许默认网站捕获请求一切正常 - 不再是502。我很难过。这是我在我设置的网站的失败请求跟踪日志中收到的错误消息:

ModuleName      ApplicationRequestRouting
Notification    128
HttpStatus      502
HttpReason      Bad Gateway
HttpSubStatus   3
ErrorCode       2147942438
ConfigExceptionInfo 
Notification    EXECUTE_REQUEST_HANDLER
ErrorCode       Reached the end of the file. (0x80070026)

IIS中的请求跟踪失败似乎没有告诉我任何新内容。谷歌和IIS论坛搜索没有产生太多。如果我可以给这个人一个赏金,我愿意。如果需要更多信息,请告诉我,我会尽力提供。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

发现了这个问题。我们使用Kentico CMS和它使用的模块最终成为罪魁祸首。解决方案是在主应用程序的子文件夹中托管一个单独的应用程序,并删除嵌套应用程序的web.config中的模块。 web.config最终看起来像这样:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpModules>
      <remove name="XHtmlModule"/>
    </httpModules>
    <compilation debug="true" numRecompilesBeforeAppRestart="100">
      <assemblies>
        <clear/>
      </assemblies>
    </compilation>
    <roleManager defaultProvider="SQL" enabled="false">
      <providers>
        <clear/>
      </providers>
    </roleManager>
  </system.web>
  <system.webServer>
    <modules>
      <remove name="XHtmlModule"/>
    </modules>
  </system.webServer>
</configuration>

最终我们还最终在IIS上安装PHP并在嵌套应用程序中托管博客,但上述更改应该允许代理服务器解决方案也能正常工作。 希望这可以帮助遇到同样问题的人。