DNN сделал очередной шаг вперед. Теперь, начиная с версии DNN 7.1, вы можете настроить дружественный URL для любой странице прямо в ее параметрах и без применения решений сторонних разработчиков. Наконец-то можно попрощаться с уродливыми URL адресами и расширениями ASPX.
По существу - это постраничный URL Rewrite, что позволяет делать URL адрес seo friendly или human friendly независимо от названия страницы.
Единственная вещь, которая может быть неоднозначно воспринята вебмастерами – это то, что гиперссылка автоматически не генерируется исходя из иерархии карты страниц сайта. Т.е. Вы должны указать точный адрес для каждой страницы самостоятельно, начиная от корня.
Например, в установке по умолчанию DNN у вас есть страница «О нас» (About Us), которая имеет адрес "/about-us", и дополнительная страница «Гид Стиля» с адресом "/ about-us/styleguide". Так вот, для страницы «Гид Стиля» Вы должны будете набрать полностью весь URL снова, если решите изменить ссылку на собственную, то есть "/about-us” не наследуется от URL родительской страницы. Возможно это делает настройку более трудозатратнее, но позволяет не сдерживать себя ни в чем… Конфликт адресов будет оставаться на Вашей совести. Возможно все изменинться в будущих версиях DNN.
Помните, чтобы появился этот параметр в настройках страницы надо включить в файл web.config тег urlFormat="advanced". Пример того, как это работает на моих веб-сайтах:
friendlyUrl
defaultProvider
=
"DNNFriendlyUrl"
>
providers
>
clear
/>
add
name
=
"DNNFriendlyUrl"
type
=
"DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules"
includePageName
=
"false"
regexMatch
=
"[^a-zA-Z0-9 _-]"
urlFormat
=
"advanced"
/>
providers
>
friendlyUrl
>