在我们的 Windows 托管中,我们使用根 (wwwroot) 文件夹来托管 JOOMLA 网站作为公共网站。它运行的是 IIS 7。
然后,我们创建了一个名为“App”的虚拟目录来托管 ASP.NET MVC4 应用程序。
当我输入时,www.mydomain.com
它会正确显示 joomla 网站。当我输入时,www.mydomain.com/App/
它会以某种方式访问我的 MVC 应用程序... 我看到 URL 更改为www.mydomain.com/App/Account/LogOn?ReturnUrl=%2fApp%2f
,但显示 404 Joomla 错误,就好像它在 Joomla 中查找该 URL 一样。
顺便说一句,该主机有 2 个 ASP.NET IIS 安装选项:4.0 Classic 和 4.0 Integrated。使用 Integrated 选项...它会显示一个空白页...使用 Classic 选项会显示 404 Joomla 页面。
知道去哪儿寻找这个吗?
答案1
我设法解决了这个问题。
虚拟目录的 web.config 继承了 Joomla 的 web.config 规则。因此,我将 Joomla 的 web.config 中的所有设置都包装在:
<location path="." inheritInChildApplications="false">
<webserver>....
...
<system.web>...
</location>
这样,我的 ASP.NET MVC 应用程序就只使用其“未受污染”的 web.config。