请正确设置服务器应用程序weburl,未为请求的URL配置默认文档,并且未在服务器上启用目录浏览...

博客讨论了在部署ASP.NET MVC网站到服务器时遇到的错误,即没有配置默认文档且目录浏览未启用。解决方案包括在根目录添加default.aspx文件,修改web.config配置,检查IIS设置,以及确保Visual Studio的启动页面设置正确。问题可能涉及IIS版本、项目配置和路由设置等多个方面。
摘要由CSDN通过智能技术生成

我刚刚将我的asp.net mvc-2网站部署到服务器(使用dotnetpanel)。但得到这个错误

A default document is not configured for the requested URL, and directory browsing is not enabled on the server.

我需要什么设置?它的基于dotnetpanel的托管服务器。

答案

您的主机运行的是哪个版本的IIS?要尝试的一件事是在根文件夹中放置一个虚拟的default.aspx文件(这在MVC工作时不会被使用,但可以解决这个问题)。

另一答案

标记的答案将帮助您消除错误,但它不会使MVC工作。问题的答案是将此行添加到system.webServer中的web.config文件中:

另一答案

以下适用于IIS 7

该错误试图告诉您两件事之一无法正常工作:

您的网站没有默认页面(例如index.html,defaul.aspx)。这可能意味着默认文档“功能”完全禁用,或者只是配置错误。

目录浏览未启用。也就是说,如果您没有为您的网站提供默认页面,也许您打算让用户通过http(如远程“Windows资源管理器”)浏览您网站的目录内容。

有关如何诊断和解决上述问题的说明,请参阅以下链接。

如果这些问题都不是问题,另外要检查的是确保为您的网站配置的应用程序池(在IIS管理器下,选择您的网站,然后单击最右侧的“基本设置”)配置相同.Net框架版本(在IIS管理器中,在“应用程序池”下)作为web.config中配置的targetFramework,例如:

我不确定为什么会产生这样一个看似无关的错误信息,但它确实对我有用。

另一答案

尝试使用IIS Express服务器调试我的ASP.NET网站时遇到了完全相同的错误,当我们按F5运行网站时,Visual Studio使用该服务器。

在Visual Studio中打开解决方案资源管理器 - >展开Web应用程序项目节点(在我的情况下为StudentInfo) - >右键单击我希望在我的网站启动时加载的网页(我的情况下为StudentPortal.aspx) - >从中选择Set as Start Page选项上下文菜单如下所示。它开始从下一次运行开始工作。

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9nUEVSWi5wbmcifQ==

根本原因:我得出的结论是,基本上是网站默认文档的起始页面设置不正确,或者在开发过程中以某种方式搞砸了。

另一答案

您是否在此课程中添加了默认路线?

public class RouteConfig {

public static void RegisterRoutes (RouteCollection routes) {`

//"HomePage" is the root view of your app

routes.MapRoute (

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new {

controller = "Home", action = "HomePage", id = UrlParameter.Optional

}

);

}

}

`之后在Global.asax.cs中将此行添加到Application_Start()方法:

RouteConfig.RegisterRoutes (RouteTable.Routes);

我在this帖子之后从MVC4升级到MVC5之后遇到了这个问题,我对该行进行了评论,原因是我已经忘记了。

希望这可以帮助!

另一答案

如果你做了一些愚蠢的事情(就像我做的那样)并将api url放在Project Properties-> Web选项卡上的“Project Url”(例如http://localhost:59088/api/Product)而不是在“Specific Page”文本框中指定它,也会发生这种情况。这会导致Visual Studio继续创建名为ProjectName / api / Product的APP,这将需要一个默认页面。撤消此操作的唯一方法是转到C: Program Files(x86) IIS Express并使用appcmd.exe将其删除

>.appcmd.exe delete APP "ProjectName/api/Product"

另一答案

确保您的默认页面名为index.aspx,而不是main.aspx或home.aspx。并且还要确保您的类中的所有属性都与数据库中的表的属性完全匹配。删除与数据库不同步的所有属性。这解决了我的问题!! :)

另一答案

罪魁祸首可能在于Global.asax被放置在mvc项目内的错误目录中。在我的情况下,它被放置在/ Views下但我必须移动它应该放在项目的根文件夹下。

在你的情况下,你可能正好相反 - 运行一些测试,看看你自己。

另一答案

在我的情况下,我不得不安装Microsoft.Owin.Host.SystemWeb包。

我收到了和你一样的信息,但后来注意到我甚至无法在Startup.cs打破一个断点,然后让我去this SO thread。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值