Домашняя страница сайта SharePoint

Как работает механизм определения домашней страницы сайта SharePoint, как можно изменить домашнюю страницу и возможные варианты.

Домашняя страница

При открытии сайта SharePoint по URL вида http:/// браузер получает ответ со статусом HTTP 302 (ресурс временно перемещен) и указанием URL-адреса, на который необходимо перейти. На этом основан механизм настройки домашней страницы сайта в SharePoint.

Механизм хранения

При определении домашней страницы SharePoint считывает свойство vti_welcomepage корневой папки сайта. Используя следующий PowerShell, можно посмотреть значение для сайта:

(Get-SPWeb http://spweburl).RootFolder.WelcomePage

Если значение этого свойства не задано, то страницей по умолчанию считается default.aspx.

Изменение домашней страницы

Изменить домашнюю страницу сайта можно несколькими способами.

Способ 1: Параметры сайта

Домашнюю страницу можно изменить в разделе Страница приветствия параметров сайта:

Параметры сайта. Страница приветствия

Параметры сайта. Страница приветствия

Параметры сайта. Страница приветствия

Параметры сайта. Страница приветствия

Можно воспользоваться кнопкой Обзор... для удобного выбора домашней страницы сайта.

Способ 2: SharePoint Designer

Чтобы задать страницу приветствия с помощью SharePoint Designer достаточно в контекстном меню файла выбрать Set as a Home Page:

SharePoint Designer. Страница приветствия

SharePoint Designer. Страница приветствия

Способ 3: PowerShell

Того же результата можно достичь, используя PowerShell:

$web = Get-SPWeb -Identity http://spweburl
$folder = $web.RootFolder
$folder.WelcomePage = "default.aspx"
$folder.Update()

Допустимые значения

Изменение домашней страницы с помощью параметров сайта и SharePoint Designer ограничено из-за использование интерфейса. С помощью PowerShell можно достичь большей гибкости.

Ограничения, накладываемые SharePoint при задании домашней страницы:

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

В противном случае будет выдано соответствующее исключение:

Exception setting "WelcomePage": "The WelcomePage property must be a path that is relative to the folder, and the path cannot contain two consecutive periods (..)."

На этом ограничения заканчиваются.

Любой файл на сайте

Начальной страницей может быть не только страница, но и любой файл на сайте. Указав в качестве домашней страницы ссылку на изображение в библиотеке, мы получим редирект с сайта на указанный файл:

302 статус при запросе сайта SharePoint

302 статус при запросе сайта SharePoint

Дочерний сайт

Можно указать в качестве домашней страницы ссылку на дочерний сайт.

Если, например, есть сайт http://portal и дочерний сайт http://portal/subsite, то для родительского сайта можно указать дочерний сайт в качестве домашней страницы (адрес должен быть относительным, т.е. без / вначале):

$web = Get-SPWeb -Identity http://portal
$folder = $web.RootFolder
$folder.WelcomePage = "subsite"
$folder.Update()

Список

Аналогично можно указать ссылку на представление списка или библиотеки документов. При открытии сайта пользователь будет автоматически перенаправлен на список:

$web = Get-SPWeb -Identity http://portal
$folder = $web.RootFolder
$folder.WelcomePage = "Lists/MyList/AllItems.aspx"
$folder.Update()

QueryString, Hash

Также в адресе домашней страницы можно использовать QueryString и/или Hash. В следующем примере домашней страницей будет форма просмотра элемента списка с идентификатором, равным 1. Дополнительно в адрес передается hash:

$web = Get-SPWeb -Identity http://portal
$folder = $web.RootFolder
$folder.WelcomePage = "Lists/MyList/DispForm.aspx?ID=1#hash"
$folder.Update()

И результат в Developer Tools:

302 статус и редирект на указанный URL

302 статус и редирект на указанный URL

Примеры работают в SharePoint 2010/2013/2016 и SharePoint Online.

Виталий Жуков

Виталий Жуков

SharePoint архитектор, разработчик, тренер, Microsoft MVP (Office Development). Более 15 лет опыта работы с SharePoint, Dynamics CRM, Office 365, и другими продуктами и сервисами Microsoft.

Смотрите также

SharePoint 2007. Проверка на наличие элемента в списке

SharePoint 2007. Проверка на наличие элемента в списке

SharePoint 2007. База данных содержимого

SharePoint 2007. База данных содержимого

SharePoint 2007. Свой контрол на панели свойств веб-парта

SharePoint 2007. Свой контрол на панели свойств веб-парта

SharePoint 2007. Максимальное/минимальное значение поля в списке

SharePoint 2007. Максимальное/минимальное значение поля в списке

SharePoint 2007. Получение данных из нескольких списков и узлов

SharePoint 2007. Получение данных из нескольких списков и узлов