Документ по умолчанию для сайта asp.net в подпапке
Мой документ по умолчанию находится в подпапке не в корневой папке, как я могу сделать ее по умолчанию на веб-сайте asp.net 2.0.
Исправлена установка документа по умолчанию iis7 в значение '/pages/default.aspx'
'~/pages/default.aspx', но это не сработало.
Ответы
Ответ 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.