在IIS中托管DNN应用程序,在登录点击时收到404错误

时间:2013-12-02 07:36:03

标签: asp.net iis dotnetnuke

我是DNN的新手,

我有一个使用DNN开发的网站。  我在IIS中托管了这个应用程序,我得到了主页。但是当我点击登录或注册或主页上的任何菜单时,我收到404错误,上面写着“HTTP错误404.0 - 未找到您要查找的资源已被删除,其名称已更改,或暂时不可用”。

我使用的是IIS 7.5,.Net 4.5

我已经提供了正确的应用程序,并且可以访问应用程序的所有文件夹

我不知道是什么问题。请帮助您继续。

提前致谢。

3 个答案:

答案 0 :(得分:1)

当您看到此问题时,路由会导致高级网址无法正常工作。

我发现解决此问题的唯一一致方法是确保web.config中的模块节点具有runAllManagedModulesForAllRequests =“true”但似乎there are performance implications with doing this.

答案 1 :(得分:0)

您是否有可能将网站的“登录”页面更改为默认页面以外的其他页面?

转到Site SettingsAdvanced Settings并查看您的Login Page

答案 2 :(得分:0)

IIS核心引擎使用前置条件来确定何时启用特定模块。例如,性能原因可能确定您只想为也发送到托管处理程序的请求执行托管模块。以下示例中的前提条件(precondition =" managedHandler")仅为托管处理程序处理的请求启用表单身份验证模块,例如对.aspx或.asmx文件的请求:

如果删除属性precondition =" managedHandler",表单身份验证也适用于托管处理程序不提供的内容,例如.html,.jpg,.doc,也适用于经典ASP(.asp)或PHP(.php)扩展。请参阅"如何利用IIS集成管道"有关启用ASP.NET模块以运行所有内容的示例。

您还可以使用快捷方式为应用程序中的所有请求启用所有托管(ASP.NET)模块,而不管" managedHandler"先决条件。

要为所有请求启用所有托管模块,而不配置每个模块条目以删除" managedHandler"前置条件,使用以下部分中的runAllManagedModulesForAllRequests属性:


当您使用此属性时," managedHandler"前置条件无效,所有托管模块都针对所有请求运行。