Текущая ситуация: есть сайт, на нём довольно много страниц, адреса которых заканчиваются на .aspx, что есть совсем плохо (/about.aspx, вместо /about)
Внимание: по умолчанию класс создаёт маршруты с именем AspNet.FriendlyUrls.SwitchView
Благодаря AutoRedirectMode = Permanent при обращении к странице отправляется 301 response code
Возможные значения:
т.е. для переключения с мобильного представления (Site.mobile.master) на десктопное (Site.master) достаточно перейти по адресу:
/__FriendlyUrls_SwitchView/Desktop?ReturnUrl=%2f
или
/__FriendlyUrls_SwitchView/?ReturnUrl=%2f (Desktop по дефолту)
Установленное представление запоминается в файлах Cookies с именем FriendlyUrlsViewSwitcher, например, если перейти по адресу /__FriendlyUrls_SwitchView/ipad?ReturnUrl=%2f, то в кукисах будет значение FriendlyUrlsViewSwitcher=ipad
Но имейте ввиду, что мастер-страница Site.ipad.master не подхватится на лету
Довольно просто избавиться от расширений в путях, заюзав FriendlyUrlSettings
В RouteConfig или любом другом классе, отвечающим за маршрутизацию (лишь бы не Global.asax) необходимо уведомить RouteCollection о необходимости использования FriendlyUrlSettings:
Внимание: по умолчанию класс создаёт маршруты с именем AspNet.FriendlyUrls.SwitchView
Благодаря AutoRedirectMode = Permanent при обращении к странице отправляется 301 response code
Возможные значения:
- Permanent - 301 response code (поисковики и браузеры запомнят, что страница окончательно размещена по адресу, отданному в заголовке location)
- Temporary - 302 response code
- Off - вообще без редиректов, но работать будут оба варианта (и с aspx, и без)
Дополнительное интересное свойство:
SwitchViewUrl - адрес, принимающий запросы на переключение представления (десктопное/мобильное).
Значением по умолчанию = __FriendlyUrls_SwitchView/{view}
Пример использования от MS:
т.е. для переключения с мобильного представления (Site.mobile.master) на десктопное (Site.master) достаточно перейти по адресу:
/__FriendlyUrls_SwitchView/Desktop?ReturnUrl=%2f
или
/__FriendlyUrls_SwitchView/?ReturnUrl=%2f (Desktop по дефолту)
Установленное представление запоминается в файлах Cookies с именем FriendlyUrlsViewSwitcher, например, если перейти по адресу /__FriendlyUrls_SwitchView/ipad?ReturnUrl=%2f, то в кукисах будет значение FriendlyUrlsViewSwitcher=ipad
Но имейте ввиду, что мастер-страница Site.ipad.master не подхватится на лету
Комментариев нет:
Отправить комментарий
Можете оставить свой комментарий