Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

<modules runAllManagedModulesForAllRequests="true" />

Ответ 3

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

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

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

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

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

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

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

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

Ответ 4

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

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

enter image description here

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

Ответ 5

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

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 после this post, и я прокомментировал эту строку по той причине, забыл.

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

Ответ 6

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

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

Ответ 7

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

Ответ 8

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

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

fooobar.com/questions/168123/...

Ответ 9

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

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

Ответ 10

У меня была эта проблема в приложении WebForms, ошибка ясно говорит о том, что A default document is not configured, и это было верно в моем случае, документ по умолчанию не был настроен. Что мне помогло, так это то, что я нажал на свой сайт, а на средней панели в iis есть опция с именем Default Document. В Default Document вы должны проверить, существует ли страница приложения по умолчанию или нет.

По умолчанию страница моего приложения была index.aspx, и ее не было в окне iis Default Document. Поэтому я сделал новую запись в index.aspx, и она начала работать.