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

Документ по умолчанию для сайта asp.net в подпапке

Мой документ по умолчанию находится в подпапке не в корневой папке, как я могу сделать ее по умолчанию на веб-сайте asp.net 2.0.

Исправлена ​​установка документа по умолчанию iis7 в значение '/pages/default.aspx' '~/pages/default.aspx', но это не сработало.

4b9b3361

Ответ 1

Документ по умолчанию не совпадает с начальной страницей. Документ по умолчанию означает, что я запросил mysite.com/somefolder и не указал файл, в каком файле должен отображаться IIS.

Если вы хотите использовать определенную страницу в качестве домашней страницы, создайте файл Default.aspx и напишите в ней класс codebehind:

public override void ProcessRequest(HttpContext context) {
    context.Response.Redirect("pages/default.aspx", true);
}

Поскольку клиент мог отключить Javascript, подход на стороне сервера был бы более надежным. Однако лучше всего создать постоянную переадресацию вместо простой Response.Redirect. Также делать это с помощью JS будет плохо с точки зрения SEO.

Ответ 2

Вам не нужно создавать фиктивную страницу Default.aspx.

В файле Global.asax.cs напишите следующее:

public void Application_Start(object sender, EventArgs e)
{
    var routeCollection = RouteTable.Routes;
    routeCollection.MapPageRoute("DefaultRoute", string.Empty, "~/YourDesiredSubFolder/YourDesiredDocument.aspx");
}

Пояснение:

  • Код Application_Start гарантированно запускается один раз и только один раз при запуске приложения.
  • Первая строка кода получает коллекцию маршрутов URL для вашего приложения.
  • Вторая строка кода определяет новый маршрут, указывающий на вашу внутреннюю страницу в подпапке, которую вы хотите.
  • Второй аргумент пуст, чтобы указать, что этот маршрут используется, когда нет специальной страницы и нет документа по умолчанию.

Ответ 3

Документы по умолчанию - это специфичная для подпапки вещь - то, что вы пытаетесь сделать, не будет (напрямую) работать. Настройте файл default.htm в корневом каталоге и обновите его до своей реальной "домашней страницы".

Лучший вопрос, который вы должны задать, - это то, как на земле ваша домашняя страница вышла из корневого каталога.

Ответ 4

В теории у вас может быть файл Web.config внутри каталога и использовать элемент defaultDocument, чтобы установить документ по умолчанию. См. Здесь: fooobar.com/info/421096/....
К сожалению, мне не удалось заставить его работать самостоятельно, но может быть, потому что он не поддерживается на сервере разработки Visual Studio.