Документ по умолчанию не настроен для запрошенного URL, и просмотр каталога не включен на сервере - PullRequest
41 голосов
/ 11 января 2011

Я только что развернул свой веб-сайт 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.

Ответы [ 9 ]

35 голосов
/ 16 сентября 2013

Ответ, помеченный как ответ, поможет вам устранить ошибку, но при этом не будет работать MVC.Ответом на проблему является добавление этой строки в файл web.config в system.webServer:

<modules runAllManagedModulesForAllRequests="true" />
31 голосов
/ 11 января 2011

Какая версия IIS работает на вашем хосте? Одна вещь, которую нужно попробовать, - поместить фиктивный файл default.aspx в корневую папку (он не будет использоваться, когда MVC работает, но может решить эту проблему).

17 голосов
/ 04 апреля 2013

Следующее относится к IIS 7

Ошибка пытается сказать вам, что одна из двух вещей не работает должным образом:

  • Не существует страницы по умолчанию (например, index.html, defaul.aspx) для вашего сайт. Это может означать, что «функция» документа по умолчанию полностью отключен или просто неправильно настроен.
  • Просмотр каталогов не включен. То есть, если вы не обслуживаете страницу по умолчанию для вашего сайт, может быть, вы собираетесь позволить пользователям перемещаться по содержимому каталога вашего сайта через http (как удаленный "проводник Windows").

См. Следующую ссылку для получения инструкций по диагностике и устранению вышеуказанных проблем.

http://support.microsoft.com/kb/942062/en-us

Если ни одна из этих проблем не является проблемой, необходимо проверить еще раз, чтобы убедиться, что пул приложений, настроенный для вашего веб-сайта (в диспетчере IIS выберите свой веб-сайт и нажмите «Основные настройки» в правом нижнем углу), настроен с той же версией платформы .Net (в IIS Manager, в разделе «Пулы приложений»), как targetFramework, настроенной в вашем файле web.config, например:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpRuntime targetFramework="4.0" />
  </system.web>

Я не уверен, почему это приведет к появлению такого, казалось бы, не связанного сообщения об ошибке, но это сработало для меня.

5 голосов
/ 19 февраля 2018

Я столкнулся с точно такой же ошибкой при попытке отладки моего веб-сайта ASP.NET с помощью сервера IIS Express, который используется Visual Studio, когда мы нажимаем F5 для запуска веб-сайта.

ОткрытьОбозреватель решений в Visual Studio -> Разверните узел проекта веб-приложения (StudentInfo в моем случае) -> Щелкните правой кнопкой мыши веб-страницу (StudentPortal.aspx в моем случае), которую я хотел загрузить при запуске моего сайта -> ВыбратьSet as Start Page опция из контекстного меню, как показано ниже.Он начал работать со следующего запуска.

enter image description here

Основная причина : я пришел к выводу, что стартовая страница, которая по умолчанию является по умолчаниюдокумент для веб-сайта был задан неправильно или каким-то образом испортился во время разработки.

1 голос
/ 24 февраля 2015

Это также может произойти, если вы делаете что-то глупое (как я) и размещаете URL-адрес api в «URL проекта» (например, http://localhost:59088/api/Product) на вкладке «Свойства проекта» -> «Веб» вместо указания его вТекстовое поле «Конкретная страница». Это заставляет Visual Studio создать приложение с именем ProjectName / api / Product и ожидать страницу по умолчанию. Единственный способ отменить это - перейти в C: \ Program Files (x86).) \ IIS Express и используйте appcmd.exe, чтобы удалить его примерно так

>.\appcmd.exe delete APP "ProjectName/api/Product"
1 голос
/ 26 декабря 2014

Вы добавили маршрут по умолчанию для этого класса?

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);

У меня была эта проблема после того, как я сделал обновление с MVC4 до MVC5 после этого сообщения, и я прокомментировал эту строку по причине, которую я забыл.

Надеюсь, это поможет!

0 голосов
/ 14 февраля 2019

В моем случае мне пришлось установить пакет Microsoft.Owin.Host.SystemWeb.

Я получал то же сообщение, что и вы, но потом заметил, что не могу даже достичь точки останова в Startup.cs, которая затем позволяет мне этот SO поток .

0 голосов
/ 04 января 2017

Причиной может быть тот факт, что Global.asax был помещен в неправильный каталог внутри проекта mvc. В моем случае он был помещен в / Views, но мне пришлось его переместить, он должен был быть помещен в корневую папку проекта.

В вашем случае вы можете быть с точностью до наоборот - запустите несколько тестов и убедитесь сами.

https://stackoverflow.com/a/41467885/863651

0 голосов
/ 10 августа 2014

Убедитесь, что у вас есть страница по умолчанию с именем index.aspx , а не что-то вроде main.aspx или home.aspx . Также следите за тем, чтобы все ваши свойства в вашем классе точно совпадали со свойствами вашей таблицы в базе данных . Удалите все свойства, которые не синхронизированы с базой данных. Это решило мою проблему !! :)

...