Архив блога

Категории





Блоги

Ну наконец-то DNN получил URL Rewrite в базовой настройке для каждой страницы

от Маркус в 24 ноября 2013 г. 14:18
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>

Автор
Маркус

Обо всем по-немногу о DNN.