我正在使用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论坛搜索没有产生太多。如果我可以给这个人一个赏金,我愿意。如果需要更多信息,请告诉我,我会尽力提供。任何帮助将不胜感激。
答案 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并在嵌套应用程序中托管博客,但上述更改应该允许代理服务器解决方案也能正常工作。 希望这可以帮助遇到同样问题的人。